javascript - 使用 AngularJS $resource 发布

标签 javascript angularjs

使用普通的 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 的网络 Pane 中检查了数据是否已发送,事实证明它正在发送。 但是,在响应中它显示了这个:

Undefined index: name in XYZ.php line ABC.

上面指向的行是我的 PHP 中的以下行:

$obj->InsertTask($_POST['name'],$_POST['description']);

最佳答案

感谢我的一个 friend ,我终于让代码运行起来了。问题不在于我的 Angualar 代码,而在于 php 代码。

事实证明我无法将 POST 数据读取为 $_POST[]。 file_get_contents 应该在数据通过 JSON 负载而不是通过请求参数发送的情况下使用!

这是我如何运行它的:Angularjs $http.post, passing array to PHP

关于javascript - 使用 AngularJS $resource 发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21951210/

相关文章:

javascript - 为什么在onchange之前获取文件列表,选中的文件列表总是为空?

javascript - Angular .min.js :127 Error: [$controller:ctrlreg] angularJs

javascript - 在 IE10 中用 Tab 键浏览内容

javascript - jQuery 代码在 Chrome 上不起作用

javascript - 获取没有子元素的元素的内容

javascript - 为什么 JavaScript .play() 不能在 iPhone safari 上播放音频文件?

javascript - Font Awesome 图标下拉

angularjs - nvd3 图表开始在浏览器中被压扁

ajax - angular-ui bootstrap typeahead 限制不起作用

javascript - AngularJS 和 CSS 过渡