我正在做的是提供 1 行术语的即时定义,也许还有一行回答一些逻辑问题。假设用户输入“JavaScript”,JavaScript 访问 url https://api.duckduckgo.com/?q=JavaScript&format=json&pretty=1 ,获取“Definition”项(请查看 API 链接以了解,Definition 位于第一行本身)并显示其 Definition 值并提醒用户所需的数据。
无论如何,我当前的代码是:
<html>
<head>
<title>Hi</title></head>
<body>
<input id="ddgAPI"><button>Search</button>
<div id="output"></div>
</body>
</html>
请注意,我没有输入所需的 JavaScript/jQuery 代码,因为我对此感到困惑。谢谢:)
最佳答案
由于这是跨域请求,因此您只能使用代理或 JSONP 来执行此操作。幸运的是DuckDuckGo supports JSONP ,因此您只需确保向 URL 请求添加回调参数,例如:
https://api.duckduckgo.com/?q=JavaScript&format=json&pretty=1&callback=jsonp
...或者使用 jQuery 的 ajax 方法适当的 jsonp 参数,例如:
$('#ddgAPI').on('keyup', function(e) {
if (e.which === '13') {
$.ajax({
type: 'GET',
url: 'https://api.duckduckgo.com/',
data: { q: $(this).val(), format: 'json', pretty: 1 },
jsonpCallback: 'jsonp',
dataType: 'jsonp'
}).then(function (data) {
console.log(data);
});
}
});
关于javascript - 从 Web API 提取并读取 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18573528/