2011-10-06 54 views
1
<script language='javascript' type='text/javascript'> 

function ajaxFunction(){ 
    var ajaxRequest; 

    try{ 
    // Opera 8.0+, Firefox, Safari 
    ajaxRequest = new XMLHttpRequest(); 
} catch (e){ 
    // Internet Explorer Browsers 
    try{ 
     ajaxRequest = new ActiveXObject('Msxml2.XMLHTTP'); 
    } catch (e) { 
     try{ 
      ajaxRequest = new ActiveXObject('Microsoft.XMLHTTP'); 
     } catch (e){ 
      // Something went wrong 
      alert('Your browser broke!'); 
      return false; 
     } 
    } 
    } 
    ajaxRequest.onreadystatechange = function(){ 
    if(ajaxRequest.readyState == 4){ 
     var ajaxDisplay = document.getElementById('pagecomments'); 
     ajaxDisplay.innerHTML = ajaxRequest.responseText; 

    } 
    } 
    var message = document.getElementById('message').value; 
    var wpm = document.getElementById('wpm').value; 
    var queryString = '?message=' + message + '&wpm=' + wpm; 
    request.open("POST", ajaxprofilechat.php, true); 
    http.send(null); 

    } 

    </script> 

你好,我想這個劇本,我從AJAX GET方法有POST方法進行轉換,因爲我認爲它會解決的一個我在我的網站上遇到的問題。不過,我是非常非常新手的ajax編碼,雖然我試圖轉換爲POST,但由於此腳本無法正常工作,因此出現錯誤。有人可以幫助我解決這個問題,我有嗎?我想要做的就是使用POST方法。使用POST時甚至需要使用變量和查詢字符串?任何幫助將不勝感激。謝謝你的時間!我無法將我的ajax「GET」,以「POST」

這裏是ajaxprofilechat

mysql_connect($dbhost, $dbuser, $dbpass); 
mysql_select_db($dbname); 
$age = $_POST['message']; 
$wpm = $_POST['wpm']; 
$age = mysql_real_escape_string($age); 
$wpm = mysql_real_escape_string($wpm); 
$chatname6 = ($_SESSION['username']); 
$message6 = $_GET['site_message']; 
$month6 = date("F"); 
$dayofmonth6 = date("d"); 
$year6 = date("Y"); 
$date10 = "$month6 $dayofmonth6 $year6"; 
$hours6 = date("g"); 
    $min6 = date("i"); 
$sec6 = date("s"); 
$amorpm6 = date("A"); 
$time6 = "$hours6:$min6 $amorpm6"; 

if (strlen($age)>4) 
{ 
mysql_query("INSERT INTO guestbook VALUES  ('','$wpm','$chatname6','$age','$date10','$time6')"); 
echo "&nbsp;<h80><b>Comment Posted</b></h80><p><p>"; 
} 
else 
{ 
echo "&nbsp;<h80><b>Your comment must be greater than four characters</b></h80><p>"; 
} 
?> 
+0

你應該從瞭解ajax開始:http://www.w3schools.com/ajax/default.asp – MatTheCat

回答

1

作爲Gus表示正確的ajaxprofilechat.php。

ajaxRequest.open("POST", 'ajaxprofilechat.php', true); 

plz你注意到你每次都使用不同的ajax對象,你必須堅持使用ajaxRequest對象。

然後確保你把你的PARAMS這樣:

var params= 'message=' + message + '&wpm=' + wpm; 
    ajaxRequest.open("POST", 'ajaxprofilechat.php', true); 
    ajaxRequest.send(params); 

也發送

ajaxRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 

之前也加入這行儘量化繁爲簡,以確保一切工作使用硬編碼值在第一時間:

var message = 'test'; 
    var wpm = 'test'; 

也使用chrome developper工具或fireb ug看錯誤的詳細信息, 希望這可以幫助

+0

非常感謝你們的幫助。所以這部分現在很好,但我認爲他們可能是我的ajaxprofilechat.php頁面上的錯誤。如果你不介意你能看看這個嗎? – Eggo

+0

是的!你得到什麼類型的錯誤? – Genjuro

+0

我剛剛發佈了ajaxprofilechat。這是Flame的錯誤,當我使用POST運行ajaxprofilechat時,這兩個變量$ age = POST ['message'];和$ wpm = $ _POST ['wpm'];沒有得到一個值,所以其餘的代碼無法運行。那是我卡住的地方。任何幫助將不勝感激,謝謝! – Eggo

2

添加引號的網址:

request.open("POST", 'ajaxprofilechat.php', true); 

沒有他們,JavaScript是財產php要找一個變量ajaxprofilechat