jquery的 $.ajax 方法一直ERROR~

duogedexiaohao3 2012-08-20 11:18:53
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方法出错的情况下,应该怎么去调试错误。
...全文
19404 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
duogedexiaohao3 2012-08-23
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

个人建议用 chorm去看下,f12一点便知
[/Quote]

CHROME 一样不走AJAX方法直接跳掉。
我直接把
url: "navigationbars.ascx/getMemInfo",
里面的navigationbars.ascx换了个aspx地址的后台里面写,已经解决了。可能ajax调用用户控件里面的地址方法会出错。
相守_sunset 2012-08-21
  • 打赏
  • 举报
回复
个人建议用 chorm去看下,f12一点便知
hch126163 2012-08-21
  • 打赏
  • 举报
回复
data: "{jsTime:'" + jsTime + "'}",

==>

data: {'jsTime': jsTime },


单步调试一下
debrogile 2012-08-20
  • 打赏
  • 举报
回复
error: function (xhr, type, exception) {
Alert(xhr.responseText, "Failed");
}

调试看下三个参数的值,目测错误应该是parseerror
llpyemao 2012-08-20
  • 打赏
  • 举报
回复
用firefox的firebug调试,如何调试网上很多资料.

看ajax错误可看(均在firebug中显示):


$.ajax({
url : "/education2/json/getSearchQuestionknowledgeview",
type: "post",
data : params,
dataType : "json",
cache : false,
error : function(textStatus, errorThrown) {
alert("系统ajax交互错误: " + textStatus);
},
.....



调试停在alert("系统ajax交互错误: " + textStatus);
处,然后在firebug右边的监控窗口看"textStatus",展开看有详细错误细节.errorThrown中有错误类型.
ziyouren521125 2012-08-20
  • 打赏
  • 举报
回复
是error这个函数
ziyouren521125 2012-08-20
  • 打赏
  • 举报
回复
帮助时这样写的:
请求失败时调用此函数。有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"timeout", "error", "notmodified" 和 "parsererror"。

你可以打印下错误信息看看
txenergy 2012-08-20
  • 打赏
  • 举报
回复
后台返回的json数据有问题吧。。认真仔细检查下数据。

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧