2012-04-17 3 views
0

Я пытаюсь сделать следующее JQuery AJAX JSONP запрос:JQuery и JSONP вопросы

$.ajax({ 
    type: "GET", 
    url: apiUrl + currentType + "/" + $(this).val() + "/" + nextType + ".json?jsoncallback=?", 
    dataType: "jsonp", 
    success: function (data) { 
     console.log(jQuery.parseJSON(data)) 
    }, 
    error: function (reqObj, textStatus, error) { 
     console.log(textStatus, error) 
    } 
}); 

Функция успех никогда не работает, и это регистрируемые данные из error функции:

parsererror, message: "jQuery17205679343591909856_1334681898332 was not called" 

I не знаю, почему это не работает ...

+0

ли ответ правильно завернуть возвращаемые данные в вызове функции? (P.S. ', null' не требуется, вы можете удалить его) –

+0

Да. Я удалил ', null', как вы сказали. Это все еще действует goofy :( – dennismonsewicz

+0

Я на самом деле сейчас делаю это ... Я сообщу, что происходит – dennismonsewicz

ответ

0

Итак, после некоторых изменений конфигурации (со стороны API) мне удалось выяснить мои проблемы.

Во-первых, для быстрого создания ответа JSON на стороне API я использовал RABL-камень для Rails. Я включил пример конфигурации в инициализатор приложения (https://github.com/nesquena/rabl). От Github:

Если include_json_root отключен, которая удаляет корневой узел для каждого ребенка на выходе, и enable_json_callbacks обеспечивает поддержку для вывода обратного вызова «JSONP» стиля, если входящий запрос имеет «обратный вызов» параметр.

Тогда вот мой JQuery (на потребительской стороне клиента):

$.ajax({ 
      url: apiUrl + currentType + "/" + $(this).val() + "/" + nextType + ".json", 
      dataType: 'jsonp', 
      type: "GET", 
      success: function(data) { 
       console.log(data); 
       console.log('Success!'); 
      } 
     });