【问题标题】:jquery.form.js is not working in Internet Explorer 9jquery.form.js 在 Internet Explorer 9 中不起作用
【发布时间】:2013-04-29 20:21:12
【问题描述】:

我有一个带有文件上传控件的简单表单。一旦我点击upload 按钮,表格就会发布。我正在尝试使用jquery.form.js 发布jquery-ajax 帖子。

我的代码如下,

var options = {
    beforeSubmit: function (formData, jqForm, options) {
        $(".loaderImage").show();
        return true;
    },
    success: function (responseText, statusText, xhr, $form) {
        $("#result").html(responseText);
    },
    error: function(xhr) { alert(xhr.responseText); }
};
$("#AjaxFileUpload").ajaxSubmit(options);
return false;

它在Google Chrome、Firefox 和Internet Explorer 10 中运行良好。 Internet Explorer 9的问题是,调试后没有进入success()。关于出了什么问题的任何指示?控制台也没有错误。

我也添加了error 选项,但问题是一样的,断点没有触发警报。

我刚刚查看了网络流量。当我点击上传按钮时,没有 POST 请求(在 Internet Explorer 9 中),但在 Internet Explorer 10 中有一个 POST 请求。

我也清除了缓存并重置了浏览器设置。但问题依然存在。

【问题讨论】:

  • 你的意思是this plugin?鉴于那里有大量的 jQuery 插件,链接总是有帮助的。该链接上的 API 文档说您可以使用与香草 jQuery $.ajax() 方法相同的选项,其中包括 error 函数回调选项。您是否尝试过设置它并查看响应、状态和错误消息(错误回调函数的参数)是什么?
  • 是的,我正在使用该插件,将使用相关链接更新我的问题。我也用error 部分更新了我的问题
  • IE 开发工具控制台中是否有任何错误?
  • 不,没有错误,但奇怪的是,我刚刚查看了网络流量,当我单击upload 按钮时,没有 POST 请求(在 IE9 中),有一个 POST 请求在 IE10 中
  • 您在这方面有什么进展吗?我今天正在处理同样的问题。我确定在 IE

标签: forms jquery internet-explorer-9


【解决方案1】:

第一步是查看是否调用了error 回调:

var options = {
    beforeSubmit: function (formData, jqForm, options) {
        $(".loaderImage").show();
        return true;
    },
    success: function (responseText, statusText, xhr, $form) {
        $("#result").html(responseText);
    },
    error: function(xhr) { alert(xhr.responseText); }
 }; 

$("#AjaxFileUpload").ajaxSubmit(options);

【讨论】:

    【解决方案2】:

    您的代码在我的计算机上运行良好,而我正在使用 Internet Explorer 9。也许问题不在这里。

    【讨论】:

      【解决方案3】:

      badZoke,我昨天和今天大部分时间都遇到了同样的问题,终于弄清楚是什么原因造成的(就我而言)。这也可能对您的情况有所帮助:

      当表单当前不在 DOM 中时,Internet Explorer 对表单提交有限制。在我的例子中,用户与模式弹出窗口中的按钮进行交互(其中也包含表单)。当他们点击时,表单从 DOM 中移除(但仍可通过 js var 访问)并替换为加载栏。然后我打电话给myForm.ajaxSubmit(options);,它在IE<iframe/>。除非表单在 DOM 中,否则不允许。

      如果您上面的代码是对您的实际场景的简化,并且您正在做与我类似的事情,那么这可能是您的问题。祝你好运。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多