我试图将信息发送到PHP页面,但它返回404错误状态。
<form name="registerForm" novalidate>
<div class="field"><label for="name">name : </label><input type="text" ng-model="register.registerInfo.name" name="name" id="name" autocomplete="off" required ></div>
<div class="field"><label for="number">number : </label><input type="text" ng-model="register.registerInfo.number" name="number" id="number" autocomplete="off" required ></div>
<br>
<button ng-click='registerForm.$valid && register.register()'>send</button>
</form>
作为app.js的一部分,我正在使用ngrouting
.controller('RegisterCtrl', ['$http', function($http){
this.registerInfo = {
name: '',
number: ''
};
this.register = function() {
var data = {
name: this.registerInfo.name,
number: this.registerInfo.number
};
$http.post('register.php', data).then(function(data) {
console.log(data);
}, function(error) {
console.error(error);
});
};
}]);
register.php
<?php
$data = json_decode(file_get_contents('php://input'));
echo 'slt';
echo $data->data->name;
http://puu.sh/m4FVO/3e607fd137.png
│ 404.html
│ favicon.ico
│ index.html
│ robots.txt
│
├───images
│ yeoman.png
│
├───scripts
│ │ app.js
│ │ connection.php
│ │ register.php
│ │
│ └───controllers
├───styles
│ main.css
│ style.css
│
└───views
contact.html
main.html
我想发送注册信息(名称和数字),用PHP分析数据,如果可以的话,用MySQL保存。我不知道为什么它找不到register.php,因为路径似乎是正确的,也许是服务器的问题?
您在$http中寻址register.php,就好像register.php脚本与基本html文件在同一目录中一样。然而,您的文件列表似乎表明您的index.html文件在根目录中,而register.php文件在"scripts"子目录中。
假设你没有任何特殊的服务器端路由逻辑,你应该更新$http调用中的地址:
$http.post('register.php', data)
至
$http.post('scripts/register.php', data)
编辑:根据OP的评论添加信息
上面的答案仍然是正确的——原始代码不正确地引用了"scripts"目录中的register.php文件。一旦修复,就会出现另一个问题。
OP使用"咕哝式发球";但是,grunt服务器不会开箱即用地处理php文件。这是一个简单的服务器,旨在提供静态文件(html、js、css等),而无需服务器端处理/执行(php)。查看这个问题/答案,在grunt:下讨论php
- Grunt serve+PHP
但是,请考虑安装/运行功能更全的web服务器(Apache、IIS等),尤其是如果您想在某个时候部署它。
所以我安装了WAMP,编辑了C:''WAMP''bin''apache2.4.9''conf''httpd.conf,并将C:''WAMP''www更改为我的工作区文件夹,重新启动了WAMP,我现在使用localhost而不是localhost:9000,并且我必须使用绝对路径:scripts/register.php不起作用,我必须使用http://localhost/orion/app/scripts/register.php
谢谢你们的帮助。