在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: '@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'
以上是如何利用jQuery post傳遞含特殊字元的數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!