2013-08-11 3 views
0

Извините за мой английский ...Дозировка кода Ajax не работает должным образом

Почему этот код ajax не работает должным образом?

, когда я называю переменную POST на странице, что я отправить для него информация, ее показать мне, что переменная POST не существует ...

Может кто-нибудь объяснить, почему это происходит?

часть кода АЯКС:

var xhr = new XMLHttpRequest(); 
xhr.open("POST",url,true); 
xhr.onreadystatechange = function() { 
    if(this.readyState == 4 && this.status == 200) { 
     document.getElementById(name).innerHTML = this.responseText; 
    } 
}; 
xhr.send("info="+str+"&info_1="+info_1+"&info_2="+info_2); 
return false; 
+0

#Idoroni, POST является методом HTTP, а не переменный, не могли бы вы уточнить ваш вопрос, может быть с большим количеством коды? –

+1

Как вы получаете доступ к POST-переменным в send.php и каковы значения 'str',' info_1' и 'info_2' –

+0

, если вы предоставите полный блок кода, мы сможем помочь вам найти проблема, иначе мы не можем угадать другую часть кода! – Cody

ответ

1

Некоторые заголовки должны быть включены для запроса POST:

xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xhr.setRequestHeader("Content-length", params.length); 
xhr.setRequestHeader("Connection", "close"); 

Edit:

Мой сценарий использовать переменную 'Params' , Так что добавьте вар в начале вашего скрипта и поместить в него содержимое вашего запроса:

var params = "info="+str+"&info_1="+info_1+"&info_2="+info_2; 

И заменить в вызове xhr.send «информация =» + ул +»& info_1 =„+ info_1 +“ & info_2 = "+ info_2; по Params:

xhr.send(params); 

Вот окончательный сценарий:

var xhr = new XMLHttpRequest(); 
var params = "info="+str+"&info_1="+info_1+"&info_2="+info_2; 
xhr.open("POST",url,true); 
xhr.onreadystatechange = function() { 
    if(this.readyState == 4 && this.status == 200) { 
     document.getElementById(name).innerHTML = this.responseText; 
    } 
}; 
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xhr.setRequestHeader("Content-length", params.length); 
xhr.setRequestHeader("Connection", "close"); 
xhr.send(params); 
return false; 
+0

, где мне нужно это поставить? – ldoroni

+0

Перед тем, как вы позвоните в xhr.send();) – Pyrech

+0

thaks за попытку помочь мне! :), но теперь код не работает вообще ... но для того, чтобы загрузить страницу send.php и показать мне, что POST не существует. теперь его совсем не загружают ...:/ – ldoroni

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