Javascript 如何成功地通过控制台记录来自此api的数据?
当我进入Network选项卡和insideresponse时,我确实得到了这个API的结果,但是我无法将它输出到控制台中 代码如下:Javascript 如何成功地通过控制台记录来自此api的数据?,javascript,jquery,Javascript,Jquery,当我进入Network选项卡和insideresponse时,我确实得到了这个API的结果,但是我无法将它输出到控制台中 代码如下: const NAMEURL = "https://uzby.com/api.php" // get data from api function getDataFromApi(value, callback){ const QUERY = { min:`${value}`, max:`${value}` } $.getJSON(NAM
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中没有定义。console.log(getDataFromApi())代码>永远不会工作,它的displayName()
必须由控制台记录
您的代码没有错,除了您试图控制台日志之外,但即使这样,它也不会工作,因为uzby不希望直接与您的应用程序共享其资源
事实上,你所得到的错误,CORS错误就是问题所在
您需要通过自己的服务器(加载页面的服务器)代理该请求。您必须研究服务器端语言代理的文档。代码的潜在解决方案可能如下所示:
xmlhttp.open(
'GET',
'https://cors-anywhere.herokuapp.com/https://example.com/api.php?' + param,
true
);
您是控制台。登录displayName
不是吗?您是否碰巧在浏览器控制台中看到一个错误,与缺少访问控制头有关?getDataFromApi
不会返回任何内容。不确定jQ中的ajax调用是否是异步的,但不管怎样,该函数都不返回任何内容,并且wilk始终记录控制台日志undefined@JaromandaX,我的访问控制标题丢失了好吧,这是你的问题-该网站不想直接与你的网页共享资源-你需要通过自己的服务器代理该请求,加载页面的那个