【发布时间】:2014-02-22 07:24:41
【问题描述】:
使用普通的 html 表单,我可以通过向 /api/tasks/insert/ 发送 POST 请求来添加新任务 POST 数据包括任务的 $name 和 $description。 但是,当我使用 Angular 将数据推送到 php 中的 REST API 时,只发送了一个 POST 请求,并在数据库中创建了一个空行。 这意味着没有传递 POST 变量,即名称和描述。 我做错了什么?
在过去的几个小时里,我一直被困在这个问题上。我检查了无数教程,并且非常确定语法。我在 PHP 中的后端 REST api 工作正常。
var res=$resource('http://localhost/api/tasks/insert/',{},
{
createTask:{method:'POST'}
});
postData={name:"Hello",description:"DescBaby"}
res.createTask({},postData);
//res.createTask(postData); tried this also, but doesn't work
我根据评论尝试的另一个变体是:
res.createTask({name:"TestName", description:"descBaby"}).$promise.then(function(value)
{
console.log("Success"); //I get success in console.
},function(errResponse)
{
console.log("Error");
});
Angular 不会给我任何错误。只需向 url 发送一个空白 POST 请求。
编辑: 我在 Chrome 的网络窗格中检查了数据是否已发送,事实证明它正在发送。 但是,在响应中它显示了这一点:
未定义索引:XYZ.php ABC 行中的名称。
上面指出的行是我的 PHP 中的以下行:
$obj->InsertTask($_POST['name'],$_POST['description']);
【问题讨论】:
-
我做了,但没有快乐。 :( 我的代码看起来是正确的,对吧?
-
在请求头和响应下的浏览器网络窗格中检查?看看数据有没有发送?
-
检查问题,我已将答案添加到您的评论中。
标签: javascript angularjs