Javascript 如何在Firefox中通过获取js向API发出请求?
我有一个web服务器,它有API。我使用Postman来创建POST和Get请求,所有的工作都很好。 现在我已经开始编写前端应用程序,无法从浏览器发出post请求。当我从计算机上运行index.html时,会出现以下错误:“跨源请求被阻止:同一源策略不允许。” 正在读取远程资源。原因:CORS标头“访问控制允许源”丢失。 这是我的密码:Javascript 如何在Firefox中通过获取js向API发出请求?,javascript,fetch,Javascript,Fetch,我有一个web服务器,它有API。我使用Postman来创建POST和Get请求,所有的工作都很好。 现在我已经开始编写前端应用程序,无法从浏览器发出post请求。当我从计算机上运行index.html时,会出现以下错误:“跨源请求被阻止:同一源策略不允许。” 正在读取远程资源。原因:CORS标头“访问控制允许源”丢失。 这是我的密码: async function createRes(){ try { const connect = await fetch ('http://127.0.0
async function createRes(){
try { const connect = await fetch ('http://127.0.0.1:3000/python',
{method:"POST",
body:JSON.stringify({date:"01/02/2019"}),
headers:{"Content-Type":"application/json",
"Access-Control-Allow-Origin":"*"
},
credentials:"include"})
const data = await connect.json();
} catch(error){
console.log(error.message)}
}
您需要在承载API的web服务器上配置CORS。问题不在于前端应用程序,而在于服务器端(API)。您必须配置服务器以允许应用程序发出CORS请求。向请求添加
'Access-Control-Allow-Origin'
头不会改变任何内容。更多关于CORS的信息。由于您没有提供有关API的任何信息,因此我无法编写任何其他内容来帮助您。您需要在本地主机()上运行的API上启用CORS
实际上,将:
访问控制允许源代码:
移动到您的API,而不是提出请求的客户端。对于Express,请尝试:
npm install cors
然后,在index.js文件中:
const app = express()
app.use(cors())
嗨,Yuri,你的后端用什么?正如其他人所建议的,您的后端需要启用CORS。看起来你在使用Python?所以可能是这样的:我使用express(node.js)Hello@Yuri Molodyko,这种情况经常在本地发生。我看你是对的:如果你能在外部服务器上做一个测试,它就可以工作了。你能做这个测试吗?祝你过得愉快,勇敢点!巨大的重复……它的工作原理是:app.use(cors({credentials:true,origin:true}))