我制作了一个网页来获取DuckDuckGo Instant Answer API结果, https: //adamorielly.github.io/Ducksearch/
但是当我刚刚尝试发出 fetch GET 请求时,我收到 405 Method Not Allowed 响应,Cross-Origin Request Blocked: The Same Origin Policy disallows。
我猜这个 API 的目的是允许其他应用程序获取搜索结果并将它们呈现在他们的应用程序上,我做错了吗?,这是我的代码:
<section class="bd-container">
<div class="duck__search">
<div class="form__div">
<input type="text" id="input1" class="form__input" placeholder="enter your search query">
<label for="" class="form__label"></label>
</div>
<input type="submit" class="button" id="form__button" value="Search">
<div class="duck__result" id="duck__result"></div>
</div>
</section>
我的JavaScript:
const searchBtn = document.getElementById('form__button')
searchBtn.addEventListener('click', () => {
let formInputs = document.getElementById('input1').value
fetch('https://api.duckduckgo.com/?q='+formInputs+'&format=json', {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
}).then(res => {
console.log(res.status)
console.log(res.statusText)
let result = JSON.parse(res.body)
}).then(data => console.log(data)).catch(err => console.error('err'))
})
如果 API 不允许获取请求,还有其他方法吗