私のIonicアプリケーションでは、簡単なHTTPリクエストを作成できるAPIを使用しています。私のAPIでは、server.jsに以下を追加してCORSを有効にしました:PUT/DELETE要求のためのIonicでのCORSの有効化
//ENABlE CORS
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
私のGETとPOSTリクエストはうまくいきます。しかし、私のPUT要求は、エラー "メソッドPUTは、プリフライト応答でアクセス制御許可メソッドによって許可されていません。"を返します。 PUT/DELETEのためにこの問題を具体的に修正するにはどうすればよいですか? controller.jsで
PUT要求
var link = 'https://cs496-app3.herokuapp.com/api/person/';
var obj = {
'name' : $scope.data.name,
'email_address': $scope.data.email,
'location' : $scope.data.location
};
var ls = UserProfile.getAll();
console.log(ls);
var curProfile = ls[0];
var prevName = curProfile.name;
$http.put(link + prevName, JSON.stringify(obj)).then(function (res){
alert("Successfully updated your account information")
console.log("put successful");
$state.transitionTo('tab.profile');
});
Node.jsではなくAngularJSアプリケーションです。 – lin
私のモバイルアプリはAngularアプリですが、私のAPIはノード – user2466886
で構築されています。私はクロムがサーバー応答によって許可されるべきである非常に単純なhttpコールではないすべてに対してプリフライト要求を送ると信じています。ノードで提案したコードを試してみてください。役立つかもしれません。ノードのCorsを有効にすると、プリフライトが簡単に処理されます。 – rgk