IE7 выдает "parseerror" при разборе JSON с использованием jQuery - PullRequest
1 голос
/ 16 декабря 2011

IE7 выдает исключение: "jquery: parseerror" при запуске следующего кода. Он работает во всех других браузерах, которые я тестировал (Firefox, Opera, Chrome, Chromium).

Сценарий:

 function check(){
            $("#form").ajaxSubmit({
                url: "/send-file",
                dataType: "json",
                success:
                    function(answer){
                        $("#result").html(answer.msg);
                        },
                error:
                    function(jqXHR, textStatus, errorThrown){
                        alert(textStatus);

                    }
                });
            return false;
    }

Серверный скрипт (контроллер Pylons):

  @jsonify
    def sendFile(self):
        response.content_type = "text/plain"
        response.cache_control = 'no-cache'
        response.pragma = "no-cache, must-revalidate"
        response.expires = "-1" 

        data = dict(msg = '<h1 id="sd">ffffffffff</h1> \
                <p>ddddd</p> <a href="#">link</a>' )
        return data 

Ответы [ 2 ]

1 голос
/ 17 декабря 2011

проблема, похоже, в плагине jQuery для загрузки файлов с использованием скрытой рамки.Если это плагин, то он содержит ошибку (если я правильно помню, он читает содержимое json из тега body).Я хотел поговорить с автором об этой проблеме, но комментарии на Facebook в его блоге вызвали исключение.В результате я слегка исправил плагин локально, чтобы прочитать весь серверный результат.

К сожалению, в настоящее время у меня нет доступа к взломанной версии.

0 голосов
/ 16 декабря 2011

вместо, если

response.content_type = "text/plain" 

, попробуйте

response.content_type = "application/json"
...