这是我的js文件,下面的代码在.controller里面
xhr.onreadystatechange = function () {
if(xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200){
$http.post(smsHorizon,'Access-Control-Allow-Origin', '*').then(function(res){
res.addheader('Access-Control-Allow-Origin', '*');
res.addheader('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.addheader('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With');
if(res){
alert("OTP has been Send");
}
})
}
else{
}
}
这是编码cors的方法吗?请帮忙!!!
答案 0 :(得分:1)
CORS
请求启用永远在线服务器端。您需要在响应标头上设置CORS
。
CORS-内部工作方式
资源在从域或端口请求资源时,会发出跨源HTTP请求,该资源与第一个资源本身所服务的资源不同。出于安全原因,浏览器会限制从脚本中发起的跨源HTTP请求。
例如:
您的应用程序在www.my-domain.com
上运行,并且www.your-domain.com
上的资源请求比浏览器不允许在脚本中发出请求。
CORS-如何解决
假设我们通过域www.my-domain.com
下的角度脚本发出请求www.your-domain.com\id
。此请求在/id
上的端点www.your-domain.com
上点击服务器。因此,在服务器呈现/发送响应时,它会在响应中设置'Access-Control-Allow-Origin', '*'
标头。
//java-jersey example
Response.status(200).entity(data)
.header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Methods", "GET")
.build();
//Nodejs Example
var express = require('express')
var cors = require('cors')
var app = express()
app.use(cors())
app.get('/products/:id', function (req, res, next) {
res.json({msg: 'This is CORS-enabled for all origins!'})
})
有关详情:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS