JQuery не .get делает запрос XHR!

голоса
2

Я только вошел в мире JQuery и довольно новый для яваскрипта too.I есть небольшой Фрагмент код JavaScript, как показано ниже: -

<script type=text/javascript>
 $(function(){
    $('a').click(function(event){
        event.preventDefault();
        $.get('/_add_navigation_',function(response){
        $('#themaincontents').html(response);
        })
   })
</script>

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

 <a href=?toaddnavigation>CLICK Me</a>
 <div id=themaincontents></div>

На стороне сервера я делаю проверку заголовка XHR что-то вроде

 if request.is_xhr: send response else:redirect somewhere

Теперь в то время как этот код работает отлично на хром и оперы, на светлячок он ведет себя немного странно. Сервер не отправляет обратно réponse, а делает редирект. Это означает, что он говорит, что нет заголовка XHR. Почему это должно произойти в то время как на двух других браузерах он работает отлично. (Я использую Firefox 3.6.12) Update-Просто было взглянуть на заголовки запросов на светлячок и я не нахожу X-Requested-С: заголовок XMLHttpRequest, но он присутствует в хроме)

Задан 16/11/2010 в 19:18
источник пользователем
На других языках...                            


1 ответов

голоса
0

Не все браузеры отправить те же заголовки, и вы не можете полагаться на них, чтобы быть последовательным во всех браузерах. Самый простой способ, чтобы не полагаться на браузер, чтобы отправить что-то, но вручную послать что-нибудь себя:

$.get('url', {
    xhr: 'yes' // add this extra parameter here
}, function(){

});

затем проверьте, что GET переменной на сервере вместо заголовка, которые могут или не могут быть отправлены в браузере.

Ответил 16/11/2010 в 19:40
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more