[英]Enabling CORS in Ionic for a PUT/DELETE Request
对于我的Ionic应用程序,我使用的是我创建的API,可以向其发出简单的HTTP请求。 在我的API中,我通过将以下内容添加到server.js来启用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请求返回错误“飞行前响应中Access-Control-Allow-Methods不允许使用方法PUT”。 如何专门针对PUT / DELETE解决此问题?
将请求放入controller.js
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');
});
尝试如下更改server.js中的CORS设置;
//ENABlE CORS app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Methods","GET, POST, OPTIONS, PUT"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); });
尝试安装npm install cors
,然后
var express = require('express');
var cors = require('cors');
var app = express();
app.use(cors());
这将解决所有cors问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.