服务器端返回字符串类型的数据正常。前端代码如下:
$('#doc-vld-msg').validator({
submit: function () {
var formValidity = this.isFormValid();
if (formValidity) {
var progress = $.AMUI.progress;
$.ajax({
type: "POST",
url: "save.ashx",
cache: "false",
dataType: "text",
data: {
BicycleID: $("#doc-vld-name-2-1").val(),
University: $("#doc-select-1-1").val(),
Password: $("#doc-vld-age-2-1").val(),
},
beforeSend: function () {
progress.start();
},
success: function (result) {
alert(result);
window.location.href = "index.html";
},
error: function (jqXHR) {
alert("发生错误:" + jqXHR.status);
},
complete: function () {
progress.done();
}
});
}
else { alert("未完成验证!"); }
}
});
先是做一个前台控件的验证,验证通过就发送ajax请求,我在浏览器和后台都看过是OK 200,但就是不执行success,也不执行error,我试了好多办法,发现,在if最后加一个alert()就可以执行success或者error了,代码如下:
$('#doc-vld-msg').validator({
submit: function () {
var formValidity = this.isFormValid();
if (formValidity) {
var progress = $.AMUI.progress;
$.ajax({
type: "POST",
url: "save.ashx",
cache: "false",
dataType: "text",
data: {
BicycleID: $("#doc-vld-name-2-1").val(),
University: $("#doc-select-1-1").val(),
Password: $("#doc-vld-age-2-1").val(),
Random: getRandom(1000)
},
beforeSend: function () {
progress.start();
},
success: function (result) {
alert(result);
window.location.href = "index.html";
},
error: function (jqXHR) {
alert("发生错误:" + jqXHR.status);
},
complete: function () {
progress.done();
}
});
alert("数据已提交,正在查询是否能成功...");//就是添加的这一句
}
else { alert("未完成验证!"); }
}
});
但是问题来了,他是先执行alert("数据已提交,正在查询是否能成功...");再执行success或者error,这是为什么?然后还有为什么我不添加这一句就不执行呢?
大神们,这是什么原因?我是个菜鸟,望大神解答一下。