Swagger codegen 生成的客户端访问控制问题

Swagger codegen generated client access control issue

我已经为特定 API、javascript 版本生成了带有 swagger codegen 的客户端应用程序。用 npm 等初始化它。一切都拍手。

然而,当我尝试使用生成的 api 从本地主机向 http://81.2.241.234:8080/species 发送获取请求时,出现以下错误:

Error: Request has been terminated Possible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc. at Request.crossDomainError (bundle.js:2967) at XMLHttpRequest.xhr.onreadystatechange (bundle.js:3049)

如果我从 chrome 调用 url,服务器响应中会出现提到的 headers。

一些更容易理解的代码:

var speciesApiInstance = new index.SpeciesServiceApi();

var opts = {
'start': 0, // Number | start position
'count': 10, // Number | count
'orderfield': "name", // String | order by
'orderdirection': "ASC" // String | order direction
};

var callback = function(error, data, response) {
if (error) {
    console.error(error);
} else {
    console.log('API called successfully. Returned data: ' + data);
}
 };
speciesApiInstance.getSpecies(opts, callback);

我做错了什么?在文档中找不到答案。

解决方法:我使用的是HTTPS连接,上面提到的IP只连接http,因此预检请求失败。修改了连接 url 以使用 http 调用 API 并且它工作正常。