AJAX请求调用test.php找不到文件,该文件应存放在服务器哪个位置?
关于AJAX请求中
test.php文件放置位置的问题解答 当你在AJAX的url参数里写"test.php"这种相对路径时,这个文件需要放在和你的前端HTML文件完全相同的目录下——也就是服务器上托管你当前这个前端页面的文件夹里。
举个实际的例子:如果你的前端页面访问地址是http://your-server.com/index.html,那AJAX请求会自动把test.php解析成http://your-server.com/test.php,所以test.php必须和index.html在服务器的同一个文件夹层级里,才能被正确识别并访问到。
另外,顺便帮你指出代码里的两个小问题,避免后续踩坑:
- 前端代码最后一个
<script>标签没有闭合,应该改成</script> - 服务器端PHP代码里有个变量拼写错误:
$regstration应该是$registration,不然if ($registration == "success")这个判断永远不会触发,因为变量未定义
下面是修正后的完整代码:
前端代码
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <button type="button" onclick="create()">Click Me</button> <script> function create () { $.ajax({ url:"test.php", //包含PHP脚本的页面 type: "post", //请求类型 dataType: 'json', data: {reg: "success", name: "bnm", email: "lolo@gmail.com"}, success:function(result){ console.log(result.abc); } }); } </script>
服务器端test.php代码
<?php $registration = $_POST['reg']; $name= $_POST['name']; $email= $_POST['email']; if ($registration == "success"){ //此处编写PHP处理逻辑 echo json_encode(array("abc"=>'successfully registered')); } ?>
内容的提问来源于stack exchange,提问作者stefanosn
相关产品推荐
相关产品推荐

