Ajax跨域请求,返回code status:parsererror

xjb2012SKY 2015-02-10 03:57:34
1.请求页面:
$.ajax({
url: "http://localhost:4474/LanCheng/HZ_FY/hz_fyys/ystz_Ajax.ashx?callback=callback",
dataType: 'jsonp',
data: "{}",
jsonp: "callback",
success: function (result) {
result = JSON.parse(result);
for (var i in result) {
alert(i + ":" + result[i].cuserName);
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
}
});
2.一般处理程序:
public void ProcessRequest(HttpContext context)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
context.Response.ContentType = "text/plain";

//返回Json数据集
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT id,cuserName,cpassword FROM dbo.hz_com_user WHERE id IN(26403,26168)");
DataTable dtData = Sys.ExecuteToTable(strSql.ToString());

context.Response.Write(JsonHelper.JSONHelper.DataTableToJSON(dtData));
context.Response.End();
}


页面信息:
...全文
338 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjb2012SKY 2015-02-10
  • 打赏
  • 举报
回复
嗯,我画蛇添足了懂了
slwsss 2015-02-10
  • 打赏
  • 举报
回复
callback jquery 会帮你传 jsonp 就是加载js文件 执行里面的脚本 纯json语法不正确
引用 7 楼 xjb2012SKY 的回复:
嗯嗯嗯,可以啊 这个callback什么时候需要,什么原因呢大哥,初次接触jsonp,为什么返回纯的json字串不行呢
xjb2012SKY 2015-02-10
  • 打赏
  • 举报
回复
嗯嗯嗯,可以啊
这个callback什么时候需要,什么原因呢大哥,初次接触jsonp,为什么返回纯的json字串不行呢
slwsss 2015-02-10
  • 打赏
  • 举报
回复
url: "http://localhost:4474/LanCheng/HZ_FY/hz_fyys/ystz_Ajax.ashx?callback=callback", 红色的那部分去掉
引用 5 楼 xjb2012SKY 的回复:
xjb2012SKY 2015-02-10
  • 打赏
  • 举报
回复

返回的json数据中为什么会有俩个callback,jQuery18006253939776562055_1423558020575对象名
slwsss 2015-02-10
  • 打赏
  • 举报
回复
那句需要 ,括号要加上 context.Response.Write( context.Request["callback"]+"("); context.Response.Write(JsonHelper.JSONHelper.DataTableToJSON(dtData)); context.Response.Write(“)”);
引用 2 楼 xjb2012SKY 的回复:
还是不行 context.Response.Write( context.Request["callback"]+"(");需要这句吗?
xjb2012SKY 2015-02-10
  • 打赏
  • 举报
回复
result = JSON.parse(result); 这句我写时候没加的,报错后以为是返回的Json数据解析出错,所以又重新转换了一次
xjb2012SKY 2015-02-10
  • 打赏
  • 举报
回复

还是不行
context.Response.Write( context.Request["callback"]+"(");需要这句吗?
slwsss 2015-02-10
  • 打赏
  • 举报
回复
url: "http://localhost:4474/LanCheng/HZ_FY/hz_fyys/ystz_Ajax.ashx" result = JSON.parse(result); 去掉 输出 context.Response.Write( context.Request["callback"]+"("); context.Response.Write(JsonHelper.JSONHelper.DataTableToJSON(dtData)); context.Response.Write(“)”);

52,797

社区成员

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

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