jQuery Ajax Post 回調(diào)函數(shù)不執(zhí)行問題的解決方法
今天在寫一個檢查用戶名的功能時,使用的是jQuery.post( url, [data], [callback], [type] )這個函數(shù),但是發(fā)現(xiàn)其中的回調(diào)函數(shù)不能執(zhí)行。
先來看看我的代碼:
前臺代碼:
<script type="text/javascript">
function checkUser() {
var user = $('#<%=txtUser.ClientID %>').val();
$.post('checkUser.ashx', { Action: "Check", Name: user },
function (data) {
alert(data);
},
"json");
}
</script>
后臺代碼(checkUser.ashx):
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "application/json";
string action = context.Request["Action"];
string user = context.Request["Name"];
string result = "{result: 0}";
switch (action)
{
case "Check":
if (us.isExists(user))
{
result = "{result: 1}";
}
break;
}
context.Response.Write(result);
}
但是怎么也不執(zhí)行回調(diào)函數(shù)中的alert(data)語句,經(jīng)過單步跟蹤,最后發(fā)現(xiàn)是返回的Json字符串有問題。
原來jquery中規(guī)定返回的JSON字符串的KEY要用引號括起來,如{"result": 1}這樣才可以。
下面再看下jquery Ajax 不執(zhí)行回調(diào)函數(shù)success的原因
jquery Ajax 不執(zhí)行回調(diào)函數(shù)success的原因:
$.ajax({
type: "post",
contentType: "application/json",
url: basePath+"pages/Tongji/disposeAgree.action?cepingitem="+cepingitem+"&userrelation="+userrelation,
//data: {fenshu:8},
dataType: "json",
success: function (result) {
alert("操作成功");
},
error:function(response){
alert("error");
}
});
如上,因為設置了屬性dataType:"json",故如果后臺返回的不是正確的JSON字符串,那么永遠不執(zhí)行回調(diào)函數(shù)success,而只執(zhí)行error函數(shù)。要么返回正確的JSON字符串,要么把dataType屬性改為text
正確的返回JSON字符串如下:
pw.write("{\"name\":\"zs\"}");
pw.write("{\"name\":"+true+"}");
錯誤的例子:
pw.write("{‘name':‘zs'}");
以上所述是小編給大家介紹的jQuery Ajax Post 回調(diào)函數(shù)不執(zhí)行問題的解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- Jquery版本導致Ajax不執(zhí)行success回調(diào)函數(shù)
- jquery ajax的success回調(diào)函數(shù)中實現(xiàn)按鈕置灰倒計時
- jQuery Tips 為AJAX回調(diào)函數(shù)傳遞額外參數(shù)的方法
- jQuery AJAX回調(diào)函數(shù)this指向問題
- jquery中的ajax如何返回結(jié)果而非回調(diào)方式即為同順序執(zhí)行
- 使用jQuery中的when實現(xiàn)多個AJAX請求對應單個回調(diào)的例子分享
- jquery ajax 向后臺傳遞數(shù)組參數(shù)示例
- Jquery中ajax方法data參數(shù)的用法小結(jié)
- 淺析jQuery Ajax請求參數(shù)和返回數(shù)據(jù)的處理
- jQuery實現(xiàn)ajax回調(diào)函數(shù)帶入?yún)?shù)的方法示例
相關(guān)文章
創(chuàng)建公共調(diào)用 jQuery Ajax 帶返回值
請求Ajax 帶返回值,并彈出提示框提醒的實現(xiàn)代碼,需要的朋友可以參考下2012-08-08
jQuery中與toggleClass等價的程序段 以及未來學習的方向
昨天開始學jQuery,js是我前端設計技術(shù)的一塊心病,一直沒有找到很好的學習辦法。最近突然開悟,可以學jQuery呀,這個東西比較好學。2010-03-03

