我是AJAX新手,目前正在從Head First AJAX
瞭解它。我面臨的問題非常奇怪。我開發了一個簡單的程序,通過JavaScript創建請求,然後顯示輸出。request.responseText收到正確的數據,但JavaScript無法理解
main.js
window.onload = initPage;
function initPage() {
request = createRequest();
if(request == null) {
alert("request could not be created");
}
else {
var url = "requestMe.php";
request.onreadystatechange = showResult;
request.open("GET", url, true);
request.send(null);
}
}
function showResult() {
if(request.readyState == 4) {
if(request.status == 200) {
if(request.responseText == "okay") {
alert("A successful request was returned");
}
else {
alert("ALERT : " + request.responseText);
}
}
else {
alert("Request status received was not correct");
}
}
}
//--function to create request objects--
function createRequest(){
try{
request = new XMLHttpRequest();
}
catch(tryMS){
try{
request = new ActiveXObject("Msxm12.XMLHTTP");
}
catch(otherMS){
try{
request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(failed){
request = null;
}
}
}
return request;
}
現在,這裏是PHP腳本。
requestMe.php
<?php
echo 'okay';
?>
此代碼應給予警告A successful request was returned
反而它給出結果ALERT : okay
奇怪的是相同的代碼是工作昨天對我來說,當我嘗試它,現在它給了我這個結果。我試圖創建類似的程序,他們都向我展示了這種奇怪的行爲。收到的responseText
是正確的,因爲它附加okay
後ALERT :
。我在代碼中做了什麼錯誤?當responseText
收到的信息是正確的時,爲什麼它會進入else
部分?
任何幫助?提前致謝。
Exaclty!它對我來說也很好。但它突然間全部崩潰了。我在Ubuntu 15.04上使用Aptana Studio,並使用FireFox瀏覽器。 –
請在requestMe.php裏面分享你的代碼。 –
我查了一下,然後再檢查一下。迴音 –