Не удалось получить JSON из JQuery ajax call

Я определил, что мой 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

Ответ 1

Вот несколько советов, которые я хотел бы попробовать:

1) параметр "тип данных", который вы указали, должен быть "dataType" (с учетом регистра).

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

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

Я не уверен, насколько это поможет, поскольку оно используется в запросе на ваш почтовый URL, а не в ответе. См. Эту статью для получения дополнительной информации: 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

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

Ответ 2

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

success: function(request) {
                alert(myResult.length);
            }

Ответ 3

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

данные: {index: ddl.selectedIndex},

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

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

Удачи А