Response.End() 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式...

cheesd2 2013-02-01 03:42:26
用juqery做ajax界面 js代码
$.ajax({
url: "ajaxpage/sysgoodsserver.aspx",
data: { "action": "getthisgoods",
//备注
"id": id
},
type: "POST",
contentType: "application/x-www-form-urlencoded;charset=utf-8",
dataType: "json",
// timeout: 8000,
async: false,
cache: false,
//调用失败
error: function(e) {
alert("服务器响应失败!");
},
//成功回调函数
success: function(data) {
databind(data.recods[0]);

}
});
return false;
}
服务器页代码:

string dlid = Convert.ToString(Request.Form["DLID"]);
string jsonstr = SysBLLGoodsServer.getgoodsxlforjson(dlid);
Response.Write(jsonstr);
Response.End();
Response.Close();
此页面有其他类型的响应 Response.End(); 没报错 唯独这个方法时报错 json格式验证过没错
网上说把 Response.End(); 改为 HttpContext .Current .ApplicationInstance .CompleteRequest ():
确实不报错 但是用360浏览器 用HttpContext .Current .ApplicationInstance .CompleteRequest (): 或
Response.Flush (): 是 $.ajax 都会返回错误事件(IE,搜狗等都能正常运行)
求解
...全文
118 2 点赞 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yyl8781697 2013-02-01
Response.End();就够了吧 i应该Response.Close();是不需要的 LZ在aspx上面有啥头部之类的影响了json LZ可以用firebug来调试下 看看ajax请求过去返回的内容是什么,针对事实找对策,如果你头部还有其他东西就是必错无疑的
  • 打赏
  • 举报
回复
jeff1129 2013-02-01
360浏览器不靠谱,我这也有很多只有360才会出现的错误
  • 打赏
  • 举报
回复
相关推荐
发帖
.NET社区
加入

5.9w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2013-02-01 03:42
社区公告
暂无公告