【问题标题】:Request post with AngularJS (and app)使用 AngularJS(和应用程序)请求发布
【发布时间】:2015-05-01 22:26:16
【问题描述】:

在我的 JS 中有:

var request = $http({
  method: "post", //or "get"
  url: $scope.ownServer+"get.php?num=1234",
  data: {num: '1234'}
});

在我的服务器中,我有:

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: *"); //or GET, POST, PUT, DELETE
header("Content-Type: application/json; charset=UTF-8");

第一个问题:
如果我使用“get”方法,我需要在 url 中写入数据,例如“?num=1234”,但它有效。
如果我使用“发布”方法,它不起作用。我也尝试过“Access-Control-Allow-Method: GET, POST, PUT”但没有。控制台中的错误是“XMLHttpRequest cannot load”

第二个问题:
如何只允许访问我的应用程序(使用 Cordova 和 AngularJS 制作)?

【问题讨论】:

  • 你用什么做你的后端?
  • 我不确定,但也许 HTTP 方法是区分大小写的?,即也许你应该使用method: 'POST'
  • @yarons 是正确的。参考官方$http examples,他们使用的是大写的'POST'。顺便说一句,您也可以使用$http.post()$http.get()' 来完全避免这个问题。
  • @ShivasJayaram 用于服务器,我目前使用 altervista。
  • @yarons 是的,我也这么认为,但我想我已经尝试过“post”和“POST”..

标签: angularjs xmlhttprequest


【解决方案1】:

好的,我会尝试回答你的两个问题:

  1. 使用$http.post 而不是$http,因为这似乎解决了您的问题。

  2. 我建议使用 JWT(JSON Web 令牌)之类的方法,您的应用程序使用一些密钥创建令牌并将该令牌添加到请求标头,然后您的服务器解密该令牌以验证它来自您的应用程序。

【讨论】:

    猜你喜欢
    • 2017-03-09
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    • 2017-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多