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);
?>
根据报错来看是访问路径(文件)不存在,这块楼上都回答的很清楚了。
可以这么排查,假设你的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.php
Fatal 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地址的时候文件路径上面有中文的的这个错误,现在已经可以了,都能正常访问,多谢大家