首頁  >  文章  >  web前端  >  如何利用jQuery post傳遞含特殊字元的數據

如何利用jQuery post傳遞含特殊字元的數據

亚连
亚连原創
2018-05-24 16:05:572203瀏覽

在jquery中,解決資料傳遞處理的方法我們通常利用$.ajax或$.post,但是這裡這裡通常不能傳遞特殊字符,比如說:“<”,本文就幫大家解決如何傳遞這種含特殊字符的數據,有興趣的朋友一起看下吧

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

    1.準備頁面和控制端程式碼

    頁碼如下:

<script type="text/javascript">
  $(function() {
      $("#btnSet").click(function() {
        var a = $("#txtValue").val();
        var data = { Name: a };
        alert(data);
        $.ajax({
          url: &#39;@Url.Action("MyTest")&#39;,
          type: &#39;post&#39;,
          dataType: &#39;json&#39;,
          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: &#39;@Url.Action("MyTest")&#39;,
          type: &#39;post&#39;,
          dataType: &#39;json&#39;,
          data: data,
          contentType: &#39;application/json&#39;
        });
      });
    }
  );
</script>

    調整的地方主要有兩點:

對要傳遞的json資料作序列化JSON.stringify

在$.ajax請求中新增參數:contentType:'application/json'

上面是我整理給大家的,希望今後會對大家有幫助。

相關文章:

Ajax非同步提交資料傳回值的換行問題實例分析

ajax請求之傳回資料的順序問題分析

防止重複發送Ajax請求的解決方案

以上是如何利用jQuery post傳遞含特殊字元的數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn