Javascript Google Chrome阻止我的应用程序发出post请求,需要帮助添加标题
一般来说,我对AngularJS、API和编码都很陌生。我创建了这个AngularJS应用程序,让用户向我创建的API发出post请求。它是一个简单的括号检查器,一切正常,除了我必须在我的chrome浏览器中激活CORS插件才能使其正常工作,这是我不能要求用户做的 我很确定有办法解决这个问题,但我真的不明白。我想我需要在我的http请求代码中添加一些头,对吗 下面是我的angularjs服务,它发出请求:Javascript Google Chrome阻止我的应用程序发出post请求,需要帮助添加标题,javascript,angularjs,api,post,cors,Javascript,Angularjs,Api,Post,Cors,一般来说,我对AngularJS、API和编码都很陌生。我创建了这个AngularJS应用程序,让用户向我创建的API发出post请求。它是一个简单的括号检查器,一切正常,除了我必须在我的chrome浏览器中激活CORS插件才能使其正常工作,这是我不能要求用户做的 我很确定有办法解决这个问题,但我真的不明白。我想我需要在我的http请求代码中添加一些头,对吗 下面是我的angularjs服务,它发出请求: function ApiService($http) { // API = '//
function ApiService($http) {
// API = '//localhost:3000/parentheses';
API = 'https://parentheses-api.herokuapp.com/parentheses';
this.getUser = (entry) => {
// console.log(this.entry);
return $http
.post(API, { string: entry} )
.then(function (response) {
// console.log(response.data);
return response.data;
}, function (reason) {
// error
})
// this.entry = "";
};
};
angular
.module('app')
.service('ApiService', ApiService);
我想这是我应该添加标题的地方。但具体是如何和怎样的呢?我现在真的不明白
下面是包含两个文件夹的完整项目,一个包含API,另一个包含上面代码所在的应用程序ApiService.js
任何帮助都将不胜感激 如果您请求的API是作为前端从不同域提供的,那么您的API后端将需要使用正确的CORS头进行响应。看看: 访问控制允许来源:* 这告诉浏览器允许从任何来源请求代码来访问API
或者,使用Access Control Allow Origin:告诉浏览器只允许指定的源访问您的API。如果可以通过在客户端添加标题绕过CORS,那么将CORS放在首位将是徒劳的。这些头需要添加到服务器的回复中,而不是请求中。好的,让我在我的API上而不是我的前端上尝试一下,明白了!如果我没有成功,我会发布一个新问题,这次分享我的API:非常感谢你的帮助!