我为特定的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);
我做错了什么?无法在文档中找到答案。
答案 0 :(得分:1)
解决方案:我使用的是HTTPS连接,提到的IP仅与http连接,因此预检请求失败。修改了连接URL以使用http调用API,它可以正常工作。