Не работает setRequestHeader в chrome?

Отправляю запрос приведенной ниже функцией, не добавляется заголовок X-Requested-With. В чем ошибка?
function ajax(pr){
	var aPr={url:'#',callback:function(a){},method:'GET',data:{}};
	var req = new XMLHttpRequest();
	for(var i in pr)aPr[i]=pr[i];
	req.onreadystatechange = function() {  
		if (req.readyState == 4) { 
			aPr.callback(req.responseText);
		}
	}
	
	var body = [];
	for (var key in aPr.data) {
	  // добавление поля
	  body.push(key+'='+aPr.data[key]);
	}
	body = body.join('&');
	if(aPr.method=='GET'){
		aPr.url+='?'+body;
		body=null;
	}
	req.open(aPr.method, aPr.url, true);  
	req.setRequestHeader("X-Requested-With", "XMLHttpRequest");

	req.send(body);  // отослать запрос
	return req;
}


вызов:
ajax({
	url:"http://test1.ru/data",
	callback:function(data){
		//Что-то делаем с data
	},
	method:'GET'
});
  • Вопрос задан
  • 2617 просмотров
Решения вопроса 1
@mayorovp
Надо выдавать заголовок Access-Control-Allow-Headers в ответах с сервера, и не забывать обрабатывать запрос OPTIONS. Насколько я помню, браузер разрешает добавлять дополнительные заголовки лишь в этом случае.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы