使用简单 HTML 进行 API Post 调用时出错
Getting error to make an API Post Call using simple HTML
不添加模式为 'no-cors':
错误:APICALL.html:1 从源 'null' 获取 'http://url' 的访问已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:否'Access-Control-Allow-Origin' header 出现在请求的资源上。如果不透明的响应满足您的需求,请将请求的模式设置为 'no-cors' 以在禁用 CORS 的情况下获取资源。
我已将模式添加为 'no-cors',但随后我收到另一个 Bad Request 错误。
错误:APICALL.html:66 POST http://url net::ERR_ABORTED 400(错误请求)
代码:
var data = {
Name: "Test",
Category: "Test-Category",
Mobile: "999999999999",
Email: "test@gmail.com",
Question: "Test Question",
};
var options = {
method: "POST",
mode: "no-cors",
origin: "*",
cache: "no-store",
headers: {
"Cache-Control": "no-store",
"Content-Type": "application/json",
},
body: data,
};
fetch("http://url", options)
.then((data) => {
if (!data.ok) {
throw Error(data.status);
}
return data.json();
})
.then((update) => {
console.log(update);
})
.catch((e) => {
console.log(e);
});
Chinese: 因为存在跨域情况,需要后端服务器开启跨域,允许你访问。
English: The server is not enabled to allow this port to cross domains because of cross domain conditions
不添加模式为 'no-cors':
错误:APICALL.html:1 从源 'null' 获取 'http://url' 的访问已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:否'Access-Control-Allow-Origin' header 出现在请求的资源上。如果不透明的响应满足您的需求,请将请求的模式设置为 'no-cors' 以在禁用 CORS 的情况下获取资源。
我已将模式添加为 'no-cors',但随后我收到另一个 Bad Request 错误。
错误:APICALL.html:66 POST http://url net::ERR_ABORTED 400(错误请求)
代码:
var data = {
Name: "Test",
Category: "Test-Category",
Mobile: "999999999999",
Email: "test@gmail.com",
Question: "Test Question",
};
var options = {
method: "POST",
mode: "no-cors",
origin: "*",
cache: "no-store",
headers: {
"Cache-Control": "no-store",
"Content-Type": "application/json",
},
body: data,
};
fetch("http://url", options)
.then((data) => {
if (!data.ok) {
throw Error(data.status);
}
return data.json();
})
.then((update) => {
console.log(update);
})
.catch((e) => {
console.log(e);
});
Chinese: 因为存在跨域情况,需要后端服务器开启跨域,允许你访问。 English: The server is not enabled to allow this port to cross domains because of cross domain conditions