AJAX调用C# [WebMethod]的方法,dataType应尽量采用json格式并使用JSON.stringify方法转换成 JSON 字符串,这样会有效规避特殊字符对参数传递的影响,type为:post方法。
$.ajax({
type: "post",
url: "/UI/Crossing_page/greenLossQuery.aspx/getGreenLossPageData",
dataType: "json",
async: true,
data: JSON.stringify({
url: weburl,
pageindex: page,
pagesize: rows,
filterStr: filterStr
}),
contentType: "application/json; charset=utf-8",
success: function (data) {
var tempdata = JSON.parse(data.d);
$.messager.progress('close');
$('#dg').datagrid("loadData", tempdata);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
//显示详细的错误信息
alert(XMLHttpRequest.responseText);
//status :返回的HTTP状态码,比如常见的404,500等错误代码。
//alert(XMLHttpRequest.status);
//readyState :当前状态,0-未初始化,1-正在载入,2-已经载入,3-数据进行交互,4-完成。
//alert(XMLHttpRequest.readyState);
//statusText :对应状态码的错误信息,比如404错误信息是not found,500是Internal Server Error。
//alert(textStatus);
//alert(errorThrown);
//responseText :服务器响应返回的文本信息
//第二个参数 String textStatus:返回的是字符串类型,表示返回的状态,根据服务器不同的错误可能返回下面这些信息:"timeout"(超时), "error"(错误), "abort"(中止), "parsererror"(解析错误),还有可能返回空值。
//第三个参数 String errorThrown:也是字符串类型,表示服务器抛出返回的错误信息,如果产生的是HTTP错误,那么返回的信息就是HTTP状态码对应的错误信息,比如404的Not Found,500错误的Internal Server Error。
}
})