Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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
Javascript InternetExplorer试图以jQuery插件提交的形式在Ajax上保存脚本_Javascript_Ajax_Internet Explorer_Jquery Forms Plugin - Fatal编程技术网

Javascript InternetExplorer试图以jQuery插件提交的形式在Ajax上保存脚本

Javascript InternetExplorer试图以jQuery插件提交的形式在Ajax上保存脚本,javascript,ajax,internet-explorer,jquery-forms-plugin,Javascript,Ajax,Internet Explorer,Jquery Forms Plugin,我的问题是,当我尝试使用jqueryformplugin()提交一个带有contentType:script的表单时,会在IEs上出现“另存为”弹出窗口,试图保存我的响应脚本 示例代码: $("#vendor_edit").ajaxForm({dataType: "script"}); 响应是JavaScript,它可以在所有其他浏览器上正确执行,但IE试图将此文件保存为“vendors.js”。知道什么会迫使IE触发此弹出窗口吗?尝试使用: $().getScript( url, funct

我的问题是,当我尝试使用jqueryformplugin()提交一个带有
contentType:script
的表单时,会在IEs上出现“另存为”弹出窗口,试图保存我的响应脚本

示例代码:

$("#vendor_edit").ajaxForm({dataType: "script"});
响应是JavaScript,它可以在所有其他浏览器上正确执行,但IE试图将此文件保存为“vendors.js”。知道什么会迫使IE触发此弹出窗口吗?

尝试使用:

$().getScript( url, function(data, textStatus){
    if (typeof(data) === "object"){
        eval(data);  //i.e if you're planning to execute your script
    }
});

现在这很棘手。响应类型确实很重要,它需要是“text/plain”才能停止触发另存为对话框,而不是浏览器的“application/javascript”


此外,我还必须包装脚本“textarea”标签,这是浏览器的专有标签,以使eval(响应)在一些疯狂的reazon上工作。所有其他浏览器都可以在不使用texterea包装器的情况下处理它,但IE有一个问题(我已经看到Dojo使用的这个解决方案并复制了它)。

响应的内容类型是什么?这是否特定于您机器上的IE?如果是,是否检查了要下载而不是打开文件的浏览器设置?选中下载后确认选项。