gpt4 book ai didi

javascript - 如何成功通过控制台记录此 api 的数据?

转载 作者:行者123 更新时间:2023-12-03 01:44:05 25 4
gpt4 key购买 nike

当我进入“网络”选项卡和内部响应时,我确实得到了此 API 的结果,但无法将其输出到控制台中。

这是代码:

const NAMEURL = "https://uzby.com/api.php"

// get data from api
function getDataFromApi(value, callback){
const QUERY = {
min:`${value}`,
max:`${value}`
}
$.getJSON(NAMEURL, QUERY, callback)
}

function renderResult(result){
return `${result}`;
}

// render results to page
function displayName(data){
console.log(data);
const results = renderResult(data);
$('.nameResult').html(results);
}

// wait for user to submit
function watchSubmit() {
$('.js-search-form').submit(event => {
event.preventDefault();
const queryTarget = $(event.currentTarget).find('#js-dropValue');
const thisquery = queryTarget.val();
getDataFromApi(thisquery, displayName);
});
}
// running the watch submit function waiting for click
$(watchSubmit);

我尝试执行 console.log(getDataFromApi()) 但我在控制台中未定义。

最佳答案

console.log(getDataFromApi()); 永远不会工作,您必须控制台日志的 displayName()

除了您尝试控制台日志的内容之外,您的代码没有错误,但即使如此,它也无法工作,因为 uzby 不想直接与您的应用程序共享其资源。

因此,确实您遇到的错误是 CORS 错误。

您需要通过您自己的服务器(即加载页面的服务器)代理该请求。您将必须研究有关服务器端语言代理的文档。您的代码的潜在解决方案可能如下所示:

xmlhttp.open(
'GET',
'https://cors-anywhere.herokuapp.com/https://example.com/api.php?' + param,
true
);

关于javascript - 如何成功通过控制台记录此 api 的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50710200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com