2014-12-03 4 views
0

Прежде всего, я должен сказать, что я новичок в AJAX. Таким образом, вопрос будет звучать глупо для большинства из них. Но я бы очень признателен за любую помощь в этом . Я пытался добавить запрос AJAX get и передать некоторый параметр в заголовке, который по какой-то причине не работает. Я знаю его очень простой вопрос, но я искал починки в течение последних 4-х часов и не смогли найти правильное решениеajax GET не работает с параметрами заголовка

function resetSession() { 

      $.ajax({ 

       dataType: "text", 
       beforeSend: function (request) 
      { 
        request.setRequestHeader("sessionVariable", sessionVariable); 
      }, 
      url: "/reset.php", 
      type: "GET", 

      success: function(data) { 
       alert("yes"); 
       }, 
      error: function(data){ 
       alert("no"); 


       } 
      }); 



      } 

Я не вижу никаких проблем с этим кодом, и я смотрю для отличается один, который фиксирует это для меня, и не мог найти его Каждый раз, когда вызывается функция запроса URL является правильным, но метод запроса OPTIONS

Глядя вперед, чтобы легко исправить заранее спасибо

+2

это CORS .... –

+0

@ DanielA.White вы не можете объяснить немного больше или четкий ответ? –

+0

Я пишу уже ответ: P Google CORS тем временем. –

ответ

1

У меня было такая же проблема. I solved it by not using jQuery. Я думаю, что они еще не охвачены.

Ваш браузер отправляет уведомление OPTIONS, чтобы узнать, что сервер принимает ваш запрос (retarded, ain't it?). This is a part of CORS (прочитайте всю статью, если вам интересно). Сервер может отклонить запрос с измененными заголовками. Referrer Заголовок никогда не может быть изменен.

Попробуйте отправить нормальный Аякс:

var req = new XMLHttpRequest(); 
req.open("GET", "/reset.php"); 
req.onload = function() { 
     console.log("SUCESS:", this.responseText); 
} 
req.onerror = function() { 
     console.log("FAILURE:", this.status); 
} 
req.setRequestHeader("sessionVariable", sessionVariable); 
req.send(null); 

я не уверен, что dataType свойства JQuery должно делать. Но поскольку вы ничего не отправляете, это, вероятно, не имеет значения.

+0

Я буду обходить "request.setRequestHeader (" sessionVariable ", sessionVariable);" Как я могу интегрировать это? –

+1

Добавлено, извините. [Все о запросах XHR] (http://www.w3.org/TR/XMLHttpRequest/) здесь. Возможно, браузеру не все реализовано таким образом. –

+0

Ты спас меня! Настоящим я даю вам право SUPERMAN !!! : D спасибо тонному брату –

Смежные вопросы