ajax 同步请求报错

杰2014 2017-06-22 04:41:11
在jsp 页面上使用ajax 提交表单到java api,有个很头疼的问题希望大声指教下

$.ajax({
url: url,
type: "POST",
async: false,
data: param,
dataType: 'json',
success: function (result) {
// NativeObject.loading(remove_loading);
console.log(result);
if (result.success) {
//dosomething
} else {
//dosomething
}
},
error: function (XHR) {
//dosomething
}
})

这样提交之后,就直接报错了,XmlHttpRequest.readyStatus = 4 , XmlHttpRequest.status = 404,
如果去掉async 就正常提交, async :true 也是不行,到底是什么原因导致的提交不了??

说是js 代码的执行顺序,照代码来看执行顺序也没多大的影响,忘看下,就剩90 了,只有这么多
...全文
386 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
杰2014 2017-07-03
  • 打赏
  • 举报
回复
遇到这种问题直接去掉async ,目前尚不知道什么原因
杰2014 2017-06-26
  • 打赏
  • 举报
回复
引用 3 楼 showbo 的回复:
这个和同步异步没关系,你是不是还有其他代码触发了其他请求。
就按钮点击的时候,js那边触发这个ajax提交方法,确定没有其它请求。如果说不是跟同步/异步有关联,那为什么同步却提交不了
Go 旅城通票 2017-06-26
  • 打赏
  • 举报
回复
这个和同步异步没关系,你是不是还有其他代码触发了其他请求。
杰2014 2017-06-26
  • 打赏
  • 举报
回复
引用 1 楼 gy127132060 的回复:
异步执行时param参数还没获取到吧???所以报错了。。。
异步可以 ,只是同步提交的时候会报 NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load [访问路径]
杰2014 2017-06-26
  • 打赏
  • 举报
回复
引用 5 楼 showbo 的回复:
[quote=引用 4 楼 xuzhicheng2014 的回复:] [quote=引用 3 楼 showbo 的回复:] 这个和同步异步没关系,你是不是还有其他代码触发了其他请求。
就按钮点击的时候,js那边触发这个ajax提交方法,确定没有其它请求。如果说不是跟同步/异步有关联,那为什么同步却提交不了[/quote]如果去掉async 就正常提交, async :true 也是不行 去掉async默认就是aysnc:true,你说正常提交。。。。这不是冲突了,自己f12看控制台报什么错误。 如果你触发ajax的按钮是表单中的submit控件,要阻止表单提交[/quote] 有没有可能跟我提交的数据有关系,因为我的表单中有五个图片base64 string,会不会因为这个影响到了,那图片的base64确实蛮长的
杰2014 2017-06-26
  • 打赏
  • 举报
回复
引用 5 楼 showbo 的回复:
[quote=引用 4 楼 xuzhicheng2014 的回复:] [quote=引用 3 楼 showbo 的回复:] 这个和同步异步没关系,你是不是还有其他代码触发了其他请求。
就按钮点击的时候,js那边触发这个ajax提交方法,确定没有其它请求。如果说不是跟同步/异步有关联,那为什么同步却提交不了[/quote]如果去掉async 就正常提交, async :true 也是不行 去掉async默认就是aysnc:true,你说正常提交。。。。这不是冲突了,自己f12看控制台报什么错误。 如果你触发ajax的按钮是表单中的submit控件,要阻止表单提交[/quote] 表单未使用submit 控件,我知道async默认是异步提交的,但是aysnc:true 真不行,报的错误也是NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load [访问路径],去掉async 就特么可以。
Go 旅城通票 2017-06-26
  • 打赏
  • 举报
回复
引用 4 楼 xuzhicheng2014 的回复:
[quote=引用 3 楼 showbo 的回复:] 这个和同步异步没关系,你是不是还有其他代码触发了其他请求。
就按钮点击的时候,js那边触发这个ajax提交方法,确定没有其它请求。如果说不是跟同步/异步有关联,那为什么同步却提交不了[/quote]如果去掉async 就正常提交, async :true 也是不行 去掉async默认就是aysnc:true,你说正常提交。。。。这不是冲突了,自己f12看控制台报什么错误。 如果你触发ajax的按钮是表单中的submit控件,要阻止表单提交
香蕉猪 2017-06-23
  • 打赏
  • 举报
回复
异步执行时param参数还没获取到吧???所以报错了。。。

87,901

社区成员

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

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