Internet Explorer пытается сохранить скрипт на Ajax Form, jQuery отправляет плагин - PullRequest
1 голос
/ 19 ноября 2010

Моя проблема заключается в том, что когда я пытаюсь отправить форму с помощью плагина jQuery Form (http://jquery.malsup.com/form/), с contentType: script, я получаю всплывающее окно «Сохранить как» в IE, которое пытается сохранить сценарий ответа.

Пример кода:

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

Ответ - это JavaScript, который корректно выполняется во всех других браузерах, но IE пытается сохранить этот файл "vendors.js". Есть идеи, что может заставить IE вызвать это всплывающее окно?

Ответы [ 2 ]

0 голосов
/ 26 ноября 2010

Теперь это было сложно. Тип ответа действительно имеет значение, он должен быть «text / plain», чтобы прекратить запуск диалога «Сохранить как», а не «application / javascript» для Explorer.

Кроме того, мне пришлось обернуть тег «textarea» скрипта, исключительно для Explorer, чтобы заставить eval (response) работать для какой-то сумасшедшей причины. Все другие браузеры могут справиться с этим без оболочки texterea, но у IE есть проблема с этим (я видел это решение, используемое Dojo и скопировал его).

0 голосов
/ 19 ноября 2010

Попробуйте использовать:

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