Невозможно получить JSON от вызова JQuery ajax - PullRequest
10 голосов
/ 17 сентября 2008

Я определил, что мой JSON, исходящий с сервера, действителен (выполняется вызов ajax вручную), но я действительно хотел бы использовать JQuery. Я также определил, что URL "post", отправляемый на сервер, является правильным, используя firebug. Однако обратный вызов ошибки все еще срабатывает (ошибка разбора). Я также попробовал тип данных: текст.

Есть ли другие варианты, которые я должен включить?

$(function() {
    $("#submit").bind("click", function() {
        $.ajax({
            type: "post",
            url: "http://myServer/cgi-bin/broker" ,
            datatype: "json",
            data: {'start' : start,'end' : end},
            error: function(request,error){
                alert(error);
            },
            success: function(request) {
                alert(request.length);
            }
        }); // End ajax
    }); // End bind
}); // End eventlistener

Ответы [ 3 ]

19 голосов
/ 17 сентября 2008

Вот несколько предложений, которые я бы попробовал:

1) указанная опция 'datatype' должна быть 'dataType' (я считаю, что она чувствительна к регистру)

2) попробуйте использовать опцию 'contentType' следующим образом:

contentType: "application/json; charset=utf-8"

Я не уверен, насколько это поможет, поскольку оно используется в запросе к вашему посту, а не в ответе. См. Эту статью для получения дополнительной информации: http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax (Написано для asp.net, но может быть применимо)

3) Тройно проверьте вывод вашего почтового URL и запустите вывод через валидатор JSON, чтобы быть абсолютно уверенным, что он действителен и может быть проанализирован в объект JSON. http://www.jsonlint.com

Надеюсь, что это поможет!

1 голос
/ 12 марта 2012

Почему myResult вместо request?

success: function(request) {
                alert(myResult.length);
            }
0 голосов
/ 22 июня 2011

Параметр данных неверен. Вот пример, который работает:

данные: {индекс: ddl.selectedIndex},

Это создает объект со свойством index с значением ddl.selectedIndex.

Вам необходимо удалить кавычки из строки параметров данных

Удачи A

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...