1

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

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

错误:请求已终止可能的原因:网络离线、Access-Control-Allow-Origin 不允许 Origin、正在卸载页面等在 XMLHttpRequest.xhr 的 Request.crossDomainError (bundle.js:2967) .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);

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

4

1 回答 1

1

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

于 2018-05-17T10:21:48.710 回答