我目前正在运行支持文件上传的移动设备网站,我尝试做的是在将文件上传到表单时为用户节省大量空闲时间。
我的目标如下:
xhr = new XMLHttpRequest();
xhr.open("POST", "http://myServer/myEndpoint");
xhr.setRequestHeader("Cache-Control", "no-cache");
xhr.setRequestHeader('Content-Type', 'text');
xhr.setRequestHeader('foo', "bar");
xhr.send( myData );
//PseudoCode
if( xhr.DataIsSent ) myForm.submit();
正如您所看到的,我的目标是阻止用户在提交表单之前等待ajax响应。理想情况下,无论用户做什么,我都希望在后台运行。
我对ajax的理解是,一旦发出请求,除非手动取消,否则它将完成,但是,我遇到了到达服务器的数据不完整的情况
关于如何可靠地实现这一目标的任何建议将不胜感激。到目前为止,似乎一旦表单提交,部分完成的请求就会终止。
答案 0 :(得分:1)
我可以在Mozilla开发者页面上阅读, XmlHttpResponses也是有状态的。
我建议你使用jQuery: 1.为你的ajax请求创建一个承诺 2.在表单提交之前使用when()。then() 3.发现错误
你需要任何代码示例吗?