jquery的 $.ajax 方法一直ERROR~
var jsTime = "2012-05-08 12:00";
//调用后台方法 js时间检索服务器,是否有数据
$.ajaxSetup({ async: false, cache: false });
$.ajax({
type: "post",
dataType: "json",
data: "{jsTime:'" + jsTime + "'}",
contentType: "application/json; charset=utf-8",
url: "navigationbars.ascx/getMemInfo",
success: function (data) {
if (data.d != "") {
//截取该对象,获取字符串中的Contents,mid
var entity = data.d;
var pairs = entity.split(',');
var mid = pairs[0].value;
var content = pairs[1].value;
alert(mid);
alert(content);
}
},
error: function () {
alert("ajax方法Error!");
}
});
这是前台
-----------------------------------------------------------------
[WebMethod]
public static string getMemInfo(string jsTime){
//调用方法,返回数据
OA.BLL.MEMORANDUM mm = new OA.BLL.MEMORANDUM();
DataSet ds = mm.GetList("start_time ='" + jsTime+"'");
if (ds != null)
{
OA.Model.MEMORANDUM memo = new OA.Model.MEMORANDUM();
//ds转化成对象
foreach (DataRow dr in ds.Tables[0].Rows)
{
memo.memorandum_id = Convert.ToInt64(dr["memorandum_id"]);
memo.contents = dr["contents"].ToString();
}
//对象转换成字符串,用_ ,都行
return memo.memorandum_id.ToString() + "," + memo.contents.ToString();
}
return "";
}
这是底层
-----------------------------------------------------
为什么前台调用这个方法会一直ERROR,后台代码测试正常。是ajax里面的方法执行有问题。请大神帮忙看看,另外还想问一个问题,如果再遇到ajax方法出错的情况下,应该怎么去调试错误。
------解决方案--------------------后台返回的json数据有问题吧。。认真仔细检查下数据。
------解决方案--------------------
帮助时这样写的:
请求失败时调用此函数。有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"timeout", "error", "notmodified" 和 "parsererror"。
你可以打印下错误信息看看
------解决方案--------------------
用firefox的firebug调试,如何调试网上很多资料.
看ajax错误可看(均在firebug中显示):
JScript code
$.ajax({
url : "/education2/json/getSearchQuestionknowledgeview",
type: "post",
data : params,
dataType : "json",
cache : false,
error : function(textStatus, errorThrown) {
alert("系统ajax交互错误: " + textStatus);
},
.....
------解决方案--------------------
error: function (xhr, type, exception) {
Alert(xhr.responseText, "Failed");
}
调试看下三个参数的值,目测错误应该是parseerror
------解决方案--------------------
data: "{jsTime:'" + jsTime + "'}",
==>
data: {'jsTime': jsTime },
单步调试一下