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

时间:2018-05-17 09:28:22

标签: javascript jquery cors swagger codegen

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

但是,当我尝试将生成的api从我的localhost发送到http://81.2.241.234:8080/species时,我收到以下错误:

  

错误:请求已终止   可能的原因:网络脱机,Access-Control-Allow-Origin不允许Origin,页面正在卸载等。       在Request.crossDomainError(bundle.js:2967)       在XMLHttpRequest.xhr.onreadystatechange(bundle.js:3049)

如果我从chrome调用url,则服务器响应中会出现上述标题。

一些易于理解的代码:

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);

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

1 个答案:

答案 0 :(得分:1)

解决方案:我使用的是HTTPS连接,提到的IP仅与http连接,因此预检请求失败。修改了连接URL以使用http调用API,它可以正常工作。