Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery表单文件上载IE8错误响应null_Jquery_Ajax_Forms_Internet Explorer 8_Response - Fatal编程技术网

jQuery表单文件上载IE8错误响应null

jQuery表单文件上载IE8错误响应null,jquery,ajax,forms,internet-explorer-8,response,Jquery,Ajax,Forms,Internet Explorer 8,Response,我有一个与jQuery表单插件有关的IE8特有的问题 我通过一个多部分/表单数据上传一个文件,并使用jQuery插件进行错误处理。在FF中一切正常,但在IE8中,在错误处理方法中传递的jqHXR对象为空(status=0,text=null等,而不是status=500,text=“Some error message”)。以下是我正在使用的一些代码: HTML格式: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN

我有一个与jQuery表单插件有关的IE8特有的问题

我通过一个多部分/表单数据上传一个文件,并使用jQuery插件进行错误处理。在FF中一切正常,但在IE8中,在错误处理方法中传递的jqHXR对象为空(status=0,text=null等,而不是status=500,text=“Some error message”)。以下是我正在使用的一些代码:

HTML格式:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<form name=\"myForm\" id=\"myForm\" action=\"uploadServlet\" method=\"POST\" enctype=\"multipart/form-data\">");
<input type=\"file\" id=\"browseBox\" name=\"file1\"/>
<input type=\"submit\" id=\"uploadButton\"/>
</form>

正如我提到的,jqXHR在IE8中是空的,但在FF中不是空的。servlet以我显示给用户的纯文本响应。你知道为什么IE8无法从我的servlet中得到响应吗?

这也发生在我身上,当我运行Fiddler时,我发现使用ff/ie9/chrome/etc时,请求是通过POST发送的,而IE8是通过GET发送的,GET从服务器返回404错误(在我的情况下)。。 我的解决方案是在表单中添加method=post,但我看到您已经编写了它。
尝试在fiddler中比较ff和ie8的请求并搜索差异。

ie8在使用JqueryForms时将文件表单作为GET请求发送。。。你必须定下来

type: "post"

在jquery表单设置中。

我应该提到,我正在使用jquery 1.7.2和表单插件版本3.09。您是否尝试过JSFIDLE!它在看到帖子和回复时描绘了一幅更加光明的画面?显然,您无法通过开发人员控制台跟踪帖子,因此JSFIDLE将在这里派上用场。发布结果,也许我可以帮助你。对插件本身进行了更深入的检查,我遇到了一个异常,IE8拒绝访问包含我试图读取的响应的iframe。我想我必须通过一些设置来实现这一点。
type: "post"