Javascript 调用api的js函数未响应预期值

Javascript 调用api的js函数未响应预期值,javascript,Javascript,我试图使用加密交换的API收集所有市场对,但我不确定如何在JSON对象中选择正确的行,因为它似乎不起作用 api: 我的代码: requests.js import axios from 'axios'; import parsers from './parsers'; async function ftxMarkets() { const ftxResponse = await axios.get('https://ftx.com/api/markets'); return

我试图使用加密交换的API收集所有市场对,但我不确定如何在JSON对象中选择正确的行,因为它似乎不起作用

api:

我的代码: requests.js

import axios from 'axios';
import parsers from './parsers';


async function ftxMarkets() {
    const ftxResponse = await axios.get('https://ftx.com/api/markets');
    return parsers.ftxMarkets(ftxResponse.data);
}
parsers.js

function ftxMarkets(data) {
    const [ftxMarketPairs] = data;
    let ftxPairs = data.map(d => d.name );
    console.log(ftxPairs);

};
我不确定parsers.js文件中的d.name,但我尝试了另一个具有相同代码的交换,只更改了该部分,它就工作了,所以我想这就是问题的根源,尽管我不能确定,也不知道用什么替换它


谢谢

我运行了api调用,在查看响应后,我看到了一个包含所有加密数据列表的结果键。所以我猜,如果您用这样的结果对象调用解析器,它会起作用

    return parsers.ftxMarkets(ftxResponse.result);
    // try parsers.ftxMarkets(ftxResponse.data.result) if the above one doesnt work
然后在解析器中,它应该正常工作

function ftxMarkets(data) {
    let ftxPairs = data.map(d => d.name );
    console.log(ftxPairs);
}; 
更新:

因为fxtResponse.data.result有效。您的问题应该是CORS问题,要解决此问题,有两种选择

web浏览器中的CORS插件不推荐用于生产 通过服务器代理它。通过代理请求资源——最简单的方法,您可以编写一个小型节点服务器,或者如果您已经有一个后端,将其与前端关联,您可以使用它来请求第三方API并发送回响应。现在,在服务器响应中,您可以允许跨源标头。
如果您已经有一个nodeJs服务器,则为2。您可以使用CORs Npm包,从服务器调用第三方api,并在启用CORs的情况下将请求发送到前端。

感谢您的回复@Vikrant!不幸的是,我尝试了两种方法,但都不管用。我在我的应用程序中试过了。fxtResponse.data.result按预期工作。我认为你的应用程序中出现了CORs错误。通过查看developer options中的console选项卡,可以检查是否发生了CORs错误。CORS策略已阻止从源站访问的XMLHttpRequest的权限:请求的资源上不存在“Access Control Allow origin”标头,应该存在类似此错误的内容。我会更新我的答案来适应这个。谢谢你的帮助!