Javascript 获取API主体不工作
这是一个非常简单的获取api,但由于某种原因,我不知道为什么主体不能工作。这是代码Javascript 获取API主体不工作,javascript,Javascript,这是一个非常简单的获取api,但由于某种原因,我不知道为什么主体不能工作。这是代码 <label id="msg"></label> <label id="msg2"></label> <script type="text/javascript"> const myRequest = new Request('some url', { method: 'POST',
<label id="msg"></label>
<label id="msg2"></label>
<script type="text/javascript">
const myRequest = new Request('some url', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({"email" : "email",
"password" : "password"}),
mode: 'no-cors'});
const myMethod = myRequest.method; // POST
const bodyUsed = myRequest.bodyUsed; // true
fetch(myRequest)
.then(response => {
if (response.status === 200) {
return response.json();
} else {
//throw new Error('Something went wrong on api server!');
}
})
.then(response => {
document.getElementById("msg").innerHTML = response;
document.getElementById("msg2").innerHTML = bodyUsed+" "+myMethod;
}).catch(error => {
document.getElementById("msg").innerHTML = error;
});
</script>
const myRequest=新请求('some url'{
方法:“POST”,
标题:{'Content-Type':'application/json'},
正文:JSON.stringify({“email”:“email”,
“密码”:“密码”}),
模式:“无cors”});
const myMethod=myRequest.method;//邮递
const bodyUsed=myRequest.bodyUsed;//真的
获取(myRequest)
。然后(响应=>{
如果(response.status==200){
返回response.json();
}否则{
//抛出新错误('api服务器出错!');
}
})
。然后(响应=>{
document.getElementById(“msg”).innerHTML=响应;
document.getElementById(“msg2”).innerHTML=bodyUsed+“”+myMethod;
}).catch(错误=>{
document.getElementById(“msg”).innerHTML=错误;
});
我做错什么了吗?我已经对主体进行了字符串化,更改了标题,但当它运行时,它在msg2标签中显示false(这只是请求的主体部分,只是为了确定)。这意味着尸体实际上是NaN。问题在哪里?解决方案是什么
这意味着我不想做任何需要服务器使用CORS授予权限的事情;不要抛出与CORS相关的错误
跨源读取响应需要服务器授予COR权限
你说过你不会这么做的,所以fetch
不会试图让你获得尸体
(也会阻止您执行任何需要飞行前请求的操作,例如将内容类型
请求头设置为JSON。)
不要将模式设置为无cors
这意味着我不想做任何需要服务器使用CORS授予权限的事情;不要抛出与CORS相关的错误
跨源读取响应需要服务器授予COR权限
你说过你不会这么做的,所以fetch
不会试图让你获得尸体
(也会阻止您执行任何需要飞行前请求的操作,例如将内容类型
请求头设置为JSON。)
不要将模式设置为
no cors
您在控制台中看到任何网络请求问题吗?没有人没有网络问题您在控制台中看到任何网络请求问题吗?没有人没有网络问题如果我没有设置no cors,则显示错误对飞行前请求的响应未通过访问控制检查:否请求的资源上存在“Access Control Allow Origin”标头。因此,不允许访问源“null”。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源
@WahidMasud-正如我所说的:“跨源读取响应需要服务器授予cors权限。”看到了吗?我明白了。我需要让cors通过取尸体来取尸体。我启用了它,它抛出了一个异常TypeError:Failed to fetch
why?如果我没有设置任何cors,那么它会显示错误对飞行前请求的响应未通过访问控制检查:请求的资源上没有“access control Allow Origin”头。因此,不允许访问源“null”。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源
@WahidMasud-正如我所说的:“跨源读取响应需要服务器授予cors权限。”看到了吗?我明白了。我需要让cors通过取尸体来取尸体。我启用了它,它抛出了一个异常TypeError:Failed to fetch
为什么?
mode: 'no-cors'