2014-04-01 79 views
0

我想用ajax,我曾經使用過它,複製我以前的HTML文件中的代碼,並改變了價值觀發送,PHP文件來處理的代碼和我」 m使用POST方法。但是,php腳本不會返回任何內容到html頁面。我已經檢查了所有可以,所以我現在在這裏。 var x = document.getElementsByTagName('option')[document.getElementById(「region」)。selectedIndex] .value; var ajaxRequest; //使Ajax成爲可能的變量!PHP的任何結果,不返回到JavaScript的Ajax對象

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; 
    } 
    } 
} 
    // Create a function that will receive data 
// sent from the server and will update 
// modal section in the same page. 
ajaxRequest.onreadystatechange = function(){ 
    if(ajaxRequest.readyState == 4){ 
     var ajaxDisplay = document.getElementById("accordion"); 
    ajaxDisplay.innerHTML = ajaxRequest.responseText; 
} 
} 
    // Now get the value from user and pass it to 
// server script. 
ajaxRequest.open("POST", "search.php", true); 
ajaxRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
alert(x); 
ajaxRequest.send("region=" + x); 

} 

PHP代碼是一個簡單的

<?php 
echo "The world is blue."; 
?> 

的是,它沒有返回到所選擇的股利。

+1

首先,我建議使用像jQuery這樣的框架,它使AJAX變得更容易。其次,你確定你從PHP獲得結果嗎? – cgf

+0

這就是問題所在,我沒有從php獲得任何結果。我有另一個適用於此的應用程序,但是,這個應用程序不會將任何內容返回給id爲「accordion」的div。 – Michael

+0

@Michael你的PHP是原始的,必須工作。嘗試使用您的JavaScript代碼的螢火蟲。 – user4035

回答

0

您可能沒有發佈足夠的信息來回答您的問題。但是,我承認你可能不確定你首先需要問什麼問題。

首先,我必須同意@cgf。 jQuery或類似將使這更容易。

但讓我們專注於手頭的問題。我們需要知道幕後發生了什麼。

要做到這一點的最好方法是通過開發人員工具欄,如螢火蟲。 Chrome有一個內置的。

因此,加載鉻並擊中F12。這應該會在窗口底部顯示非常忙碌的窗格。選擇網絡選項卡,然後請求您的頁面/觸發您的JavaScript。你在網絡標籤中得到了什麼輸出?主要是,在狀態下你會得到200,500(服務器錯誤)還是404(沒有找到)?用你看到/得到的內容更新你的問題。

我希望這應該點你在正確的方向。

+0

當我觸發javascript函數時,狀態欄中顯示200 OK,但是沒有任何內容返回給div。而且,如果我可以添加,沒有信息缺失,我有一個div的手風琴id應該插入的結果。 – Michael

+0

@Michael,你試過類似'alert(ajaxResults)'的東西嗎?基本上檢查你是否只是沒有正確顯示在HTML中,或者你沒有從PHP腳本中獲取任何東西? – cgf

+0

是的,我已經做到了,PHP不返回任何東西。 – Michael