【发布时间】: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”..