Jquery.form AjaxSubmit добавление тегов в ответ? - PullRequest
0 голосов
/ 13 октября 2011

Когда я ajaxSubmit форму, служба возвращает номер. По какой-то причине, ajaxSubmit добавляет к нему кучу тегов.

        form.ajaxSubmit(function(data){
          alert(data);
    });
});

Здесь выводится предупреждение: "<head></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">130</pre></body>"

Принимая во внимание, что я проверяю в своем отладчике, значение просто 130.

enter image description here enter image description here

Я сделал предположение, что поскольку служба, похоже, возвращает правильное значение, эта проблема возникает только на стороне клиента. Пожалуйста, поправьте меня, если я ошибаюсь.

Почему значение в javascript отличается от значения в ответе?

Ответы [ 2 ]

3 голосов
/ 14 октября 2011

Проблема заключалась в том, что jquery.form не ожидает получения открытого текста, он ожидает либо JSON, XML, HTML или Script.

Итак, я решил эту проблему, отправив JSON-данные со стороны сервера и указав, что JSON был ожидаемым форматом на стороне клиента.

form.ajaxSubmit(
        {dataType: 'json',
            success: function(data) {
                alert(data) });
1 голос
/ 13 октября 2011

Полагаю, вы используете этот плагин jQuery Form . Его API заявляет:

Примечание: вы можете передать любую из стандартных опций $ .ajax в ajaxForm

Вы пытались передать ему опцию dataType? Как это:

form.ajaxSubmit({
    dataType: 'text',
    success: function(data){ alert(data); }
});
...