javascript - 如何在我的应用程序中发出 POST 请求

标签 javascript angularjs resources xmlhttprequest

我正在尝试使用 $resource 发出发布请求。

在我的应用程序中,

angular.module('myApp').factory('Product', ['$resource',
    function ($resource) {
        return $resource( '/api/product/:id', {
                id: '@id'
            }, {
                   'save': {
                    method: 'POST',
                    isArray: true,
                    url: '/api/product/:id/addProduct' 
                    //different url for adding a product.
                ,}
            }
        );
    }
]);

在我的 Controller 中

Product.save({
                name:'test name',
                quantity:'5'
            })

它通过像这样的url发出请求

/api/product/addProduct    //without id

但如果我这样做

Product.save({
                id:'12345',
                name:'test name',
                quantity:'5'
            })

请求网址正确,如 /api/product/12345/addProduct 但有效负载变成了

id:'12345',
name:'test name',
quantity:'5'

服务器不会将 id 参数作为负载。 我不知道如何提出帖子请求。谁能帮我解决这个问题吗?非常感谢!

最佳答案

将“id”对象作为保存方法中的第一个参数传递:

Product.save({"id":"12345"}, {
                    name:'test name',
                    quantity:'5'
                }) 

工作代码:http://jsfiddle.net/7rx5fqx2/1/

关于javascript - 如何在我的应用程序中发出 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30039158/

相关文章:

javascript - 是否有类似于 os.path.join 的内置 javascript 函数?

javascript - Angular - 将 ng-init 从 View 传输到 Controller

javascript - 在 AngularJs 中将字符串解析为 HTML

testing - 任何估计 UAT 工作量的经验法则——比如脚本数量与业务需求数量的比较?

Azure FHIR : Error when creating a Media Resource

javascript - 动态 CRM : JavaScript GET request is not retrieving records using Web. API

javascript - 如何更改/删除兄弟方法

angularjs - 为什么必须在配置 block 之前定义提供程序

c# - 在哪里放置测试数据?

javascript - 如何使用 jQuery 遍历 JSON 数组