2015-04-18 49 views
-2

嗨,大家好我是ajax的新手我有一個php文件和一個ajax文件。我只是想從AJAX檢測PHP文件,所以我在阿賈克斯發送請求像不能在ajax中檢測文件

<!DOCTYPE html> 
<html> 
<head> 
<script> 
function loadXMLDoc() 
{ 
var xmlhttp; 
if (window.XMLHttpRequest) { 
    xmlhttp=new XMLHttpRequest(); 
} 
else 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
    xmlhttp.onreadystatechange=function() 
{ 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
{ 
    alert(xmlhttp.responseText); 
    } else { 
console.log('file not fetched'); 
} 

xmlhttp.open("GET","first.php?m=babe",true); 
xmlhttp.send(); 
} 
} 
loadXMLDoc(); 
</script> 
</head> 
<body> 
</body> 
</html> 

我的PHP文件

<?php 
include("ajax.html"); 
$p = $_REQUEST['m']; 
if($p == 'babe') { 
    echo true; 
} 

當我在本地主機上運行ajax.html它不在窗口或控制檯中向我顯示任何消息。

你們能告訴我這是爲什麼嗎?

thanx的幫助

+0

而你得到任何錯誤在控制檯中? – adeneo

+0

「網絡」選項卡如何?此外,文件位於何處,以及您的網址是什麼樣的? –

+0

@adeneo控制檯是空的' –

回答

1

你的一些支架是錯誤的:

function loadXMLDoc(){ 
var xmlhttp; 
if(window.XMLHttpRequest){ // This bracket was missing 
    xmlhttp=new XMLHttpRequest(); 
} 
else{ // This bracket was missing 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.onreadystatechange=function(){ 
    if(xmlhttp.readyState==4 && xmlhttp.status==200){ 
    alert(xmlhttp.responseText); 
    } 
    else{ 
    console.log('file not fetched'); 
    } 
} // This bracket was on the wrong place (it enclosed the .open() and .send()) 

xmlhttp.open("GET","first.php?m=babe",true); 
xmlhttp.send(); 
} 

loadXMLDoc(); 

此外,定義回調函數的一個簡單的方法是:

xmlhttp.onload=function(){ 
    if(xmlhttp.status==200){ 
    alert(xmlhttp.responseText); 
    } 
    else{ 
    console.log('file not fetched'); 
    } 
}