【问题标题】:simple Angular POST request with resource带有资源的简单 Angular POST 请求
【发布时间】:2017-08-23 08:52:06
【问题描述】:

我需要使用 Angular v-1 中的资源发送一个简单的发布请求。 这个请求必须有一个像底部这样的主体:

{name: "mike", code: "1234"}

$scope.pmbusInfo = $resource('http://there.com:8080/api/v1/user/detail',
  null,
  {get: {method: 'POST'}}
);

console.log($scope.pmbusInfo.get({}, {name: "mike", code: "1234"}));

但是顶级代码,不能发送正文。

有什么问题?

更新

什么是save函数,它是资源的内置函数吗???

更新

第一个 adderss 是错误的,我现在修改它,我必须向它请求一个特殊的端口。

【问题讨论】:

  • 你收到了什么错误信息?
  • 为什么不直接使用 $http 向服务器发出请求呢?这要容易得多。
  • 没有错误信息,因为请求发送成功,但是POST body没有发送。
  • @ramsing-nadeem 只是我想使用资源。

标签: javascript angularjs angular-resource


【解决方案1】:
$scope.pmbusInfo = $resource('http://there.com/api/v1/user/detail',
  null,  {'save': {method: 'POST'}}
);

console.log($scope.pmbusInfo.save({name: "mike", code: "1234"},function(resp){console.log(resp);}));

【讨论】:

  • {save: {method: 'POST'}} 是默认操作;你根本不需要定义它
  • 没有进展
  • 没有错误信息?浏览器控制台的网络标签显示什么?
  • 一切正常,但正文根本没有随请求一起发送。
  • 你是如何断定没有发送正文的?如果您使用 chrome,请在 Network 选项卡下单击 api,然后在打开的窗格中单击 headers 选项卡。现在向下滚动查看是否可以找到“请求标头”
【解决方案2】:

资源请求中的url可以包含参数。我们可以在 url 中使用: 设置参数。 在另一边,通过: 分隔在url 中的端口和角度认为这是一个参数,并在想发送请求时清除它。

所以端口必须写在像http://there.com\\:8080/api/v1/user/detail这样的url中。

【讨论】:

    猜你喜欢
    • 2013-11-14
    • 1970-01-01
    • 2017-11-04
    • 2021-03-12
    • 1970-01-01
    • 2015-12-24
    • 2014-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多