提取给我一个关于GET请求的CORS错误

时间:2019-05-02 14:46:55

标签: javascript cors fetch postman

我正在尝试获取请求。但是它总是失败,并显示有关CORS策略的错误。

现在,我对CORS政策了解甚少,我尝试阅读有关它的文档,但看起来似乎很模糊,从我的理解来看,这是必须在服务器端解决的问题。

我的问题是,我在浏览器中加载了此url,并获得了所需的数据,没有麻烦。我还尝试了Postman,它也为我提供了没有问题的数据。

仅当我尝试通过访存访问数据时,才会发生我的错误。我认为这是因为Postman和浏览器没有给我任何错误,也许这是我做错了,而不是关于我不了解的CORS。

这是网址

http://192.168.1.43:30013/geoserver/mundo/wfs?request=GetFeature&service=WFS&version=1.0.0&typeName=mundo:mv_mexico2_suav&outputFormat=application/json

我将其粘贴到浏览器中,然后得到数据。我在邮递员中创建了一个GET请求,我得到了数据。

const url = 'http://192.168.1.43:30013/geoserver/mundo/wfs?request=GetFeature&service=WFS&version=1.0.0&typeName=mundo:mv_mexico2_suav&outputFormat=application/json';

const response = await fetch(url);
if (response.ok) {
  const geojson = await response.json();
  if (isNil(geojson)) {
    throw new Error('Empty Response');
  }
  return geojson;
}
console.error(response);
throw new Error('Response not ok. Server Error');

这是我在浏览器中看到的错误:

Access to fetch at 'http://192.168.1.43:30013/geoserver/mundo/wfs?request=GetFeature&service=WFS&version=1.0.0&typeName=mundo:mv_mexico2_suav&outputFormat=application/json' 
from origin 'http://localhost:3004' has been blocked by CORS policy: 
No 'Access-Control-Allow-Origin' header is present on the requested resource. 
If an opaque response serves your needs, set the request's mode to 'no-cors' 
to fetch the resource with CORS disabled.

我尝试添加mode: 'no-cors',错误如下:

Error: Network response was not ok. Server Error

解决方法是这样:

body: (...)
bodyUsed: false
headers: Headers {}
ok: false
redirected: false
status: 0
statusText: ""
type: "opaque"
url: ""
__proto__: Response

0 个答案:

没有答案