2010-09-21 2 views
2

У меня возникла проблема с отправкой некоторых пользовательских заголовков с помощью запроса jQuery ajax JSON (или JSONP).

код выглядит следующим образом:

$.ajax({ 
     beforeSend: function(xhr) { 
     xhr.setRequestHeader("X-VER",  VER); 
     xhr.setRequestHeader("X-TIMESTAMP", now); 
    }, 
    type: 'GET', 
    data: null, 
    url: site_uri, 
    dataType: 'jsonp', 
    success: function(msg){$(selector).html(msg);} 
}); 

Firebug не показывает никаких пользовательских заголовков. Кроме того изменение URL с JSONP (я могу изменить это?)

Edit:

Я обнаружил, что это, вероятно, нарушает http://en.wikipedia.org/wiki/Same_origin_policy, но не имеет ни малейшего представления о том, как ее исправить (сценарий не может быть тот же домен).

Спасибо за любую помощь

ответ

1

Если у вас есть доступ к серверу, решение будет HTTP access control modification. В противном случае, возможно, лучшая идея - это какое-то обратное прокси-решение, я понятия не имею, насколько хорошо поддерживается контроль доступа за пределами Firefox.

+0

Спасибо, это будет временное решение, но для производственного сервера я должен найти еще один. – veritas

+0

@veritas, Временное рабочее решение имеет тенденцию становиться постоянным :) – Anders

0

jsonp не является XHR (вы просто добавляете элементы скрипта в голову), эмулируя XHR. Следовательно, вы не можете устанавливать пользовательские заголовки.