我正在尝试使用AJAX以Jquery Modal格式提交表单,但尽管显示状态为200,但仍无法正常工作。代码如下:
$(document).ready(function () {
$("#dialog-form").dialog({
autoOpen: false,
});
$("#add-course").click(function () {
$("#dialog-form").dialog("open");
return false;
});
$("#btncancel").click(function () {
$("#dialog-form").dialog("close");
});
$('#<%=btnsubmit.ClientID%>').on('click', function (e) {
e.preventDefault();
var courseDetails = {};
courseDetails.Code = $('#<%=addcode.ClientID%>').val();
courseDetails.Name = $('#<%=addname.ClientID%>').val();
var jsonData = JSON.stringify({
courseDetails: courseDetails
});
$.ajax({
url: '<%=ResolveUrl("updatetest.aspx/addCourseSP") %>',
type: "POST",
data: jsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
error: OnErrorCall,
});
function OnSuccess(response, jqXHR, textStatus, errorThrown) {
var result = response.d;
if (result == "success") {
$("#msg").html("Success");
$("#dialog-form").dialog("close");
} else {
$("#msg").html("jqXHR: " + JSON.stringify(jqXHR) + " " + "AJAX error: " + textStatus + ' : ' + errorThrown);
}
}
function OnErrorCall() {
$("#msg").html("error");
}
});
});我检查过在浏览器(Chrome/Firefox)中使用F12,结果基本上是一样的,状态200和d:"error“。
我尝试过使用各种不同的方法进行调试,现在它返回jqXHR:"success“AJAX error: object Object : undefined。我不确定还能尝试什么。有谁有什么想法吗?
发布于 2018-02-06 13:42:20
您的函数包含以下行
dataType: "json",这意味着返回的数据必须是正确格式的json,如果不正确,它将认为它是错误的。
https://stackoverflow.com/questions/43262932
复制相似问题