在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 Ajax之$.get()方法和$.post()方法
- jquery 讀取頁面load get post ajax 四種方式代碼寫法
- jQuery調用AJAX時Get和post公用的亂碼解決方法實例說明
- jquery ajax post提交數據亂碼
- Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法總結
- Jquery AJAX POST與GET之間的區別
- jquery中get,post和ajax方法的使用小結
- JQuery中Ajax的Post提交在IE下中文亂碼的解決方法
- JQuery的Ajax中Post方法傳遞中文出現亂碼的解決方法
- jQuery中ajax的post()方法用法實例
- jQuery中Ajax的get、post等方法詳解