1

我的问题是,当我尝试使用 jQuery 表单插件(http://jquery.malsup.com/form/)提交表单时contentType: script,我在 IE 上看到“另存为”弹出窗口,试图保存我的回复脚本。

示例代码:

$("#vendor_edit").ajaxForm({dataType: "script"});

响应是 JavaScript,可以在所有其他浏览器上正确执行,但 IE 会尝试保存此文件“vendors.js”。任何想法,什么可能会迫使 IE 触发此弹出窗口?

4

2 回答 2

0

尝试使用:

$().getScript( url, function(data, textStatus){
    if (typeof(data) === "object"){
        eval(data);  //i.e if you're planning to execute your script
    }
});
于 2010-11-19T08:46:28.457 回答
0

现在这很棘手。响应类型确实很重要,它需要是“文本/纯文本”才能停止触发另存为对话框,而不是资源管理器的“应用程序/javascript”。

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

于 2010-11-26T08:15:55.857 回答