$ .getJSON из jQuery (в приложении Rails) не читает JSON из междоменного Node.js / приложения Express / jsonp? - PullRequest
0 голосов
/ 10 июля 2010

Из Google / форумов, я думаю, что может быть две проблемы, ни одна из которых я не знаю, как исправить:

1) Мне нужно что-то сделать с обратным вызовом jsonp в запросе node.js (который был автоматически сгенерирован jquery b / c из callback =? Param) - либо добавить его в заголовок (где? И как? ) или добавьте его в ответ json (снова, где? и как?)

2) Может быть некоторая проблема с тем, что соединение запроса node.js остается открытым и поэтому никогда не сигнализирует об обратном вызове?

код запроса:

url = http://nodeapp.com/users?screen_name=s&callback=?
$.getJSON(this_url, function(data){
     var users = data
     $.each(users, function(i, item){
     $("#users").append(item...);
})

код node.js / express.js (сценарий кофе):

get '/user', ->
   users.all... =>
      @header("Content-Type", 'application/javascript')
      @respond 200, JSON.stringify(users)

1 Ответ

3 голосов
/ 10 июля 2010

Я не знаком с RoR, но когда вы запрашиваете http://nodeapp.com/users?screen_name=s&callback=foo, ответ должен выглядеть следующим образом:

foo({ first_name: 'John', last_name: 'Smith' });

, а не:

{ first_name: 'John', last_name: 'Smith' }

Что касается *Параметр 1008 * обеспокоен тем, что вам не нужно его изменять, jQuery будет передавать случайное значение, чтобы можно было вызывать анонимный обратный вызов.

...