jquery ajax用post 方法在ie中接收页面不能接收到传值

月引辰殇 2013-09-14 02:13:19
 asyncbox.confirm('删除后不可恢复!确定要删除?', '提示', function (action) {
//confirm 返回三个 action 值,分别是 'ok'、'cancel' 和 'close'。
if (action == 'ok') {
$.post('../Handler/delHandler.ashx', {"id":dcid,"type":"collection"}, function (data, status) {

var json = eval("(" + data + ")");
if (json.status == "y") {
parent.asyncbox.success(json.info, "提示", function (action) {
window.location.reload();
});

} else {
parent.asyncbox.error(json.info, "错误");
}
});
}
});


接收页:
 context.Response.ContentType = "text/plain";
int id = Convert.ToInt32(context.Request.Form["id"]);
string type = Convert.ToString(context.Request.Form["type"]);
string result ="{\"status\":\"n\",\"info\":\"未知错误!\"}";
switch (type)
{
case "activity":
result=deleteActivity(id);
break;
case "admin":
result = deleteAdmin(id);
break;
case "discuss":
result = deleteDiscuss(id);
break;
case "collection":
result = deleteCollection(id);
break;
case "experience":
result = deleteExperience(id);
break;
case "process":
result = deleteProcess(id);
break;
case "reply":
result = deleteReply(id);
break;
case "result":
result = deleteResult(id);
break;
case "topic":
result = deleteTopic(id);
break;
default:
break;
}
context.Response.Write(result);

调试的时候显示id=0;type=null
求大侠解释
...全文
655 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaocong94005 2014-11-05
  • 打赏
  • 举报
回复
ajax本来就是异步的吧
济南大飞哥 2014-10-07
  • 打赏
  • 举报
回复
问题我早就解决了,发布一下供后人看,就是把请求模式改为异步模式就行了。 初步怀疑,如果用同步,页面卸载和执行函数几乎是同步的,如果页面卸载走在前面,那么页面上的信息都 没有了,函数执行时取值什么的都是空的了,如果你用调试模式慢慢来的话发现还是有值的,就是很好的证明。
济南大飞哥 2014-09-17
  • 打赏
  • 举报
回复
尼玛,我遇到同样的问题了,其他浏览器都没有问题,就IE有问题,jsp。
洛洛神 2014-01-07
  • 打赏
  • 举报
回复
我也遇到了同样的问题,就是IE11的问题,我用IE的debug模式看了,到ajax提交的时候,就直接报错了。换了最新版本的Jquery jar包也没解决。
月引辰殇 2013-09-17
  • 打赏
  • 举报
回复
我发现是我用的ie的问题,我图新鲜把ie升到ie11,结果各种问题啊……还是谢谢各位了
clark_kidd 2013-09-15
  • 打赏
  • 举报
回复
context.Request["id"] 试试?
  • 打赏
  • 举报
回复
就这个 $.Post 而言,在服务器端使用 Request.Form[...] 除了比使用 Request[...] 更准确以外,不会有别的什么区别。所以如果 Request.Form有错误,那么Request[]也一样有错误。 你应该使用http调试器查看一下请求时的消息体中写的是什么,例如是 id=1234&type=abcd 还是别的什么值?!
Ho_Johnson 2013-09-15
  • 打赏
  • 举报
回复
context.Request.Form["id"] 应该这个请求不属于 Form 提交请求吧,所以无法获取值 直接 context.Request["id"]

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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