success无法调用问题
首先是我写的Ajax请求的函数
写的是对的,数据成功发送,也返回了我要的数据
但是在success中断了n个点都停不下来
function UpdateBookCount(bid, count) {
$.ajax({
//===请求地址===
url: "ashx/UpdataBookCount.ashx",
//===请求设置===
data: { bid: bid, count: count },//传输数据,可以是字符串,也可以是json
success: function (data) {//请求成功时的回调函数,success(data, textStatus, jqXHR)
switch (data.statecode) {
//statecode
//1-----成功
//2-----异常
//3-----用户未登入
case 1:
console.log("ok");
break;
case 2:
alert("后端异常");
break;
case 3:
location.href = "/FontPage/UserLogin.ashx";
break;
default:
}
},
type: "post",//请求方法
dataType: "json",//返回的数据类型
cache: false,//是否使用缓存,(默认: true,dataType为script和jsonp时默认为false)
contentType: "application/x-www-form-urlencoded"//发送信息至服务器时内容编码类型,这里是默认值
})
}
这是调用Ajax请求函数的一个地方
$(".imgJia").click(function () {
var count = $(this).siblings(".txtCount").val();
count++;
$(this).siblings(".txtCount").val(count);
//计算下总价
CountTotalMoney();
//数据库更新
var bid = $(this).siblings(".bid").val();
UpdateBookCount(bid, count);
});
我再另一个页面也写过几乎一摸一样的Ajax函数(url,data不同),但是它却能断点成功.对了还有这个页面的Ajax函数是写在一个按钮点击事件中的,不知道是不是这个原因
这是另一个页面的Ajax
function BtnBuyClickEvenBind() {
$("#btnBuyBook").click(function () {
$.ajax({
//===请求地址===
url: "ashx/BuyBook.ashx",
//===请求设置===
data: { id: "<%=BookModel.Bid%>",price:"<%=BookModel.PriceNew%>",lastUrl:location.href },
success: function (data) {//请求成功时的回调函数,success(data, textStatus, jqXHR)
switch (data.stateCode) {
//1-----添加成功
//2-----用户未登入
//3-----未知错误
case 1:
alert("ok");
break;
case 2:
location.href="/FontPage/UserLogin.aspx";
break;
case 3:
alert("未知错误");
break;
}
},
type: "post",//请求方法
dataType: "json",//返回的数据类型
cache: false,//是否使用缓存,(默认: true,dataType为script和jsonp时默认为false)
contentType: "application/x-www-form-urlencoded"//发送信息至服务器时内容编码类型,这里是默认值
});
return false;
});
}
由于你两个地方调用的 URL 不同,所以不能保存是返回的同一个数据,就可能存在一个成功另一个失败的情况。失败的情况下你是不可能在进入 success 的。
但是你说数据是返回出来了的,那就说明,在调用 URL 这一段没有错。但是有可能出现另个一错误,就是在解析 JSON 的时候。因为你的 dataType: "json",所以得到数据之后还有一个 $.parseJSON 解析过程。这个过程中要求传入的 JSON 必须是标准的 JSON,而不是 javascript 对象。关于 JSON 的标准可以参考 http://json.org/。
为了捕捉错误,你需要加入 error 事件。
$.ajax({
url: "xxx",
// ......
success: function(json) {
// .....
},
error: function(jqXhr, textStatus, error) {
// ......
}
});
在 error 中,如果是解析错误,textStatus 的值应该是 parsererror。当然,目前只是猜测,并没确定是解析错误,所以你可以跟踪调试一下看看。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。