1
我有xmlHTTPrequest GET腳本工作正常,但由於服務器問題,我不得不將它更改爲POST方法。我無法獲取$ _POST變量中的數據。當我檢查了CHROME INSPECTOR調試工具時,GET方法狀態爲200 OK。需要幫助,看看JavaScript是否正確。xmlHTTPRequest POST不發送數據
XMLHttpRequest的文件:
<script type="text/javascript">
function showprodes(str2)
{
var q2 = encodeURIComponent(str2);
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
var url = "http://www.amg.in/amogtst/rateprod.php";
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send(q2);
}
</script>
<?
$result2 = mysql_query("SELECT Prod_desc FROM PRODMAST ORDER BY Prod_desc");
echo "<form name='f1'>";
echo " <span class='style3'>Gas Type </span> <select name='Proddesc' onchange=\"showprodes(this.value);\"><option value=0>Select a Product</option>";
while($nt2=mysql_fetch_assoc($result2))
{
echo "<option value='$nt2[Prod_desc]'>$nt2[Prod_desc]</option>";
}
echo "</select>";// Closing of list box
echo "</form>";
?>
二腳本更新表按照從第一個PHP用戶選擇:rateprod.php文件:
<?php
$q=$_POST['q2'];
$q2=mysql_real_escape_string($q);
include_once 'db.php';
mysql_query("UPDATE RATEMASTER_draft SET Prod_desc='$q2'");
?>
對於POST'ing多個變量,您可以使用類似於:'xmlhttp.send(「q2 =」+ q2 +「&q3 =」+ q3)' –
非常感謝,現在工作正常。我試圖從昨天解決這個問題在stackoverflow,但沒有人能夠給出這樣一個簡單的答案,你已經讓我的一天。榮譽邁克! –
你不得使用URL編碼。您也可以發送多部分表單數據。 –