搜尋

首頁  >  問答  >  主體

javascript - 發送ajax回傳用php回傳資料不成功

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);
?>
给我你的怀抱给我你的怀抱2720 天前882

全部回覆(5)我來回復

  • 天蓬老师

    天蓬老师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、不建議資料夾名字使用中文命名,這個一定要改!

    回覆
    0
  • 扔个三星炸死你

    扔个三星炸死你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. 你的檔案路徑錯了吧。

    回覆
    0
  • 高洛峰

    高洛峰2017-06-21 10:12:23

    第一個問題

    你那段HTML代碼一樣的返回,實際上是PHP的報錯信息(帶格式的報錯信息):
    如果是直接訪問頁面的話,可以直觀的看到如下報錯:

    這是因為你include的檔案'F:/heima/Coder/測試場/Ajax/data.php'不存在,你先檢查一下這個檔案是否在你的PHP伺服器上真實存在。還有建議給予檔案結構,以及HTML是本地開啟的還是掛載在伺服器上從HTTP協定開啟的,這樣方便進行更詳細的分析,給予更精確的建議。

    第二個問題

    這段程式碼看起來沒什麼問題,如果前面一個AJAX可以運行,這個應該也是可以的。

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-21 10:12:23

    我看了一下你的header頭部內容,就是F12裡面的瀏覽器回傳的狀態訊息,你應該知道的。裡面有一個request URL 大概的意思就是你的請求位址不對。就是那一堆的亂碼的東西是不該出現的。 (這種情況我是換了一種請求方式還是換了引入的jquery我記不清楚了,你可以都試試)我截了一張圖片,你可以看看

    。 。 。 。
    這個的原因我也碰到過,不過我用的好像是jquery,(應該是,記不清楚了)。還有一個原因是你的ajax的格式是不正確的。具體格式我就不貼了,你找一個能用的ajax格式發送一下吧。 post和get格式一定要對應起來。還有,我是第一次看到先把type:get放到最前面的。不是說不對,就是感覺比較彆扭。就這麼多了,希望能幫到你

    回覆
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-21 10:12:23

    確實是php路徑出錯的問題,原因是在解析php地址的時候文件路徑上面有中文的的這個錯誤,現在已經可以了,都能正常訪問,多謝大家

    回覆
    0
  • 取消回覆