DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX基礎知識 >> 如何利用jQuery post傳遞含特殊字符的數據
如何利用jQuery post傳遞含特殊字符的數據
編輯:AJAX基礎知識     

在jQuery中,我們通常利用$.ajax或$.post進行數據傳遞處理,但這裡通常不能傳遞特殊字符,如:“<”。本文就介紹如何傳遞這種含特殊字符的數據。

    1、准備頁面和控制端代碼

    頁面代碼如下:

<script type="text/javascript">
  $(function() {
      $("#btnSet").click(function() {
        var a = $("#txtValue").val();
        var data = { Name: a };
        alert(data);
        $.ajax({
          url: '@Url.Action("MyTest")',
          type: 'post',
          dataType: 'json',
          data: data,
        });
      });
    }
  );
</script>
<h2>Index</h2>
<input type="text" id="txtValue"/><input type="button" value="設置" id="btnSet"/>

    後台代碼如下:

  public ActionResult MyTest(StudentInfo stu)
    {
      return Content("OK");
    }

其中StudentInfo定義如下:

  public class StudentInfo
  {
    public string Name { get; set; }
  }

    2、測試數據傳遞

    當我們傳遞普通數據時,一切正常。

    但當輸入含特殊字符的數據時,不能正常傳遞到後台。

    3、處理方法

    如果確定要傳遞特殊字符,需要對jQuery代碼作調整,調整後的請求代碼如下:

<script type="text/javascript">
  $(function() {
      $("#btnSet").click(function() {
        var a = $("#txtValue").val();
        var data = JSON.stringify({ Name: a });
        alert(data);
        $.ajax({
          url: '@Url.Action("MyTest")',
          type: 'post',
          dataType: 'json',
          data: data,
          contentType: 'application/json'
        });
      });
    }
  );
</script>

    調整的地方主要有兩點:

對要傳遞的json數據作序列化JSON.stringify
在$.ajax請求中新增參數:contentType:'application/json'

好了,以上就是本文的全部所述,希望大家喜歡。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved