1.想發ajax用php回傳一個json資料,但是連字串"Hellow world"都回傳不了
2.上程式碼
js程式碼
<script src="./jquery.js"></script>
<script>
$.ajax({
type:'get',
url:'./data.php',
beforeSend:function(){
console.log("请求发起前")
},
success:function(result){
console.log(result);
},
complete:function(){
console.log('请求完成');
}
});
</script>
php程式碼
<?php
header("Content-Type:text/html;charset=UTF-8");
echo "Hello,World!!!";
?>
報錯資訊:
提交網址列:http://heima.com/Coder/�...
列印結果:
請求發起前
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: Unknown: failed to open stream: No such file or directory in Unknown on line <i>0</i></th></tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Fatal error: Unknown: Failed opening required 'F:/heima/Coder/测试场/Ajax/data.php' (include_path='.;C:\php\pear') in Unknown on line <i>0</i></th></tr>
</table></font>
请求完成
3.不清楚哪裡有錯呢,大家幫忙看一下吧,如果可以返回hello world 那麼下面的json數據可以返回嗎?
php (json)
<?php
header('Content-type: text/json');
$fruits = array (
"fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("first", 5 => "second", "third")
);
echo json_encode($fruits);
?>
天蓬老师2017-06-21 10:12:23
根據報錯來看是訪問路徑(檔案)不存在,這塊樓上都回答的很清楚了。
可以這麼排查,假設你的Html檔(應含你的js程式碼)在$_PATH/test.html
,php為data.php
檔
1、檢查目前目錄是否存在$_PATH/data.php
這個檔案
2、手動存取本地環境下(如:http://localhost/data.php),就知道是否正常了(如果報錯那就已經找到問題了)
3、不建議ajax的url:"./data.php"
這麼寫,直接url:"data.php"
即可
4、不建議資料夾名字使用中文命名,這個一定要改!
扔个三星炸死你2017-06-21 10:12:23
錯誤提示 No such file or directory in Unknown on line 0
Fatal error: Unknown: Failed opening required 'F:/heima/Coder/測試場/Ajax/data.
你的檔案路徑錯了吧。
高洛峰2017-06-21 10:12:23
你那段HTML代碼一樣的返回,實際上是PHP的報錯信息(帶格式的報錯信息):
如果是直接訪問頁面的話,可以直觀的看到如下報錯:
這是因為你include
的檔案'F:/heima/Coder/測試場/Ajax/data.php'
不存在,你先檢查一下這個檔案是否在你的PHP伺服器上真實存在。還有建議給予檔案結構,以及HTML是本地開啟的還是掛載在伺服器上從HTTP協定開啟的,這樣方便進行更詳細的分析,給予更精確的建議。
這段程式碼看起來沒什麼問題,如果前面一個AJAX可以運行,這個應該也是可以的。
曾经蜡笔没有小新2017-06-21 10:12:23
我看了一下你的header頭部內容,就是F12裡面的瀏覽器回傳的狀態訊息,你應該知道的。裡面有一個request URL 大概的意思就是你的請求位址不對。就是那一堆的亂碼的東西是不該出現的。 (這種情況我是換了一種請求方式還是換了引入的jquery我記不清楚了,你可以都試試)我截了一張圖片,你可以看看
。 。 。 。
這個的原因我也碰到過,不過我用的好像是jquery,(應該是,記不清楚了)。還有一個原因是你的ajax的格式是不正確的。具體格式我就不貼了,你找一個能用的ajax格式發送一下吧。 post和get格式一定要對應起來。還有,我是第一次看到先把type:get放到最前面的。不是說不對,就是感覺比較彆扭。就這麼多了,希望能幫到你