javascript - 发送ajax返回用php返回数据不成功
给我你的怀抱
给我你的怀抱 2017-06-21 10:10:23
0
5
874

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/%E6%B5...

打印结果:
请求发起前

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

全部回复(5)
Peter_Zhu

根据报错来看是访问路径(文件)不存在,这块楼上都回答的很清楚了。

可以这么排查,假设你的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、不建议文件夹名字使用中文命名,这个一定要改!

扔个三星炸死你

错误提示
No such file or directory in Unknown on line 0 No such file or directory in Unknown on line 0
Fatal error: Unknown: Failed opening required 'F:/heima/Coder/测试场/Ajax/data.phpFatal error: Unknown: Failed opening required 'F:/heima/Coder/测试场/Ajax/data.php

你的文件路径错了吧。

小葫芦

第一个问题

你那段HTML代码一样的返回,实际上是PHP的报错信息(带格式的报错信息):
如果是直接访问页面的话,可以直观的看到如下报错:

这是因为你include的文件'F:/heima/Coder/测试场/Ajax/data.php'不存在,你先检查一下这个文件是否在你的PHP服务器上真实存在。还有建议给出文件结构,以及HTML是本地打开的还是挂载在服务器上从HTTP协议打开的,这样方便进行更详细的分析,给出更准确的建议。

第二个问题

这段代码看起来没什么问题,如果前面一个AJAX可以运行,这个应该也是可以的。

曾经蜡笔没有小新

我看了一下你的header头部内容,就是F12里面的浏览器返回的状态信息,你应该知道的。里面有一个request URL 大概的意思就是你的请求地址不对。就是那一堆的乱码的东西是不应该出现的。(这种情况我是换了一种请求方式还是换了引入的jquery我记不清楚了,你可以都试试)我截了一张图片,你可以看看

。。。。
这个的原因我也碰到过,不过我用的好像是jquery,(应该是,记不清楚了)。还有一种原因是你的ajax的格式是不正确的。具体格式我就不贴了,你找一个能用的ajax格式发送一下吧。post和get格式一定要对应起来。还有,我是第一次看到先把type:get放到最前面的。不是说不对,就是感觉比较别扭。就这么多了,希望能帮到你

扔个三星炸死你

确实是php路径出错的问题,原因是在解析php地址的时候文件路径上面有中文的的这个错误,现在已经可以了,都能正常访问,多谢大家

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板