使用Ajax與服務器進行數據通信,
我想傳遞一個值使用AJAX dat.php並從dat.php回另一個值。下面的代碼工作正常,當我使用GET,但不適用於POST工作。我需要使用POST,因爲這是我想傳遞的敏感信息。任何想法都會發生。
這是我對test.php的
<html>
<body>
<form action="<?php echo $_SERVER['$PHP_SELF'];?>" method="post">
<input type="text" name="value" onchange="ch_email1(this.value)"></input>
</form>
<script>
function ch_email1(str){
var ajaxRequest;
try{
ajaxRequest = new XMLHttpRequest();
} catch (e){
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
var xl=xmlhttp.responseText
alert("Something Went wrong");
return false;
}
}
}
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var xl=ajaxRequest.responseText;
alert (xl);
}
}
ajaxRequest.open("POST","dat.php?q="+str, true);
ajaxRequest.send(null);
}
</script>
</body>
</html>
代碼這是dat.php
<?php
$q=$_POST['q'];
echo $q;
?>
請注意,上面的代碼時,我用GET替代POST正常工作。任何ides爲什麼發生這種情況。
如果jQuery是一個選項,我建議使用它。它使得ajax調用更簡單。 –
當你使用post時,你不能以查詢字符串的形式發送數據。 – Satya
那麼,您不會在請求正文中發送任何* POST數據* ... – deceze