Javascript 使用XHR的异步请求
我需要编写异步请求以在搜索输入中查找相应的文章。 我使用Unplash.com和《纽约时报》的API。 代码在开发工具中没有显示任何错误。 我已附加代码笔链接:Javascript 使用XHR的异步请求,javascript,ajax,asynchronous,xmlhttprequest,httprequest,Javascript,Ajax,Asynchronous,Xmlhttprequest,Httprequest,我需要编写异步请求以在搜索输入中查找相应的文章。 我使用Unplash.com和《纽约时报》的API。 代码在开发工具中没有显示任何错误。 我已附加代码笔链接: (函数(){ const form=document.querySelector(“#搜索表单”); const searchField=document.querySelector(“#搜索关键字”); 让我们搜索FORTEXT; const responseContainer=document.querySelector(“#响应
(函数(){
const form=document.querySelector(“#搜索表单”);
const searchField=document.querySelector(“#搜索关键字”);
让我们搜索FORTEXT;
const responseContainer=document.querySelector(“#响应容器”);
表.addEventListener('submit',函数(e){
e、 预防默认值();
responseContainer.innerHTML='';
函数addArticles(){}
函数addImage(){}
const imgRequest=new XMLHttpRequest();
imgRequest.onload=添加图像;
imgRequest.onerror=函数(err){
请求错误(err,‘image’);
};
imgRequest.open('GET'`https://api.unsplash.com/search/photos?page=1&query=${searchedForText}`);
setRequestHeader('Authorization','Client ID');
imgRequest.send();
const articleRequest=new XMLHttpRequest();
articleRequest.onload=添加文章;
articleRequest.onerror=函数(err){
请求错误(err,“articles”);
}
articleRequest.open('GET',
`http://api.nytimes.com/svc/search/v2/articlesearch.json?
q=${searchedForText}&api键=`);
articleRequest.send();
});
});
您还需要执行函数,而不仅仅是定义它<代码>(函数(){…})()代码>无论如何,它仍然不起作用,只需从url中删除无效字符:articleRequest.open('GET','{searchedForText}&api key=4c32dbc91636470fb8e286e60041dca5');它会起作用的
(function(){
const form = document.querySelector('#search-form');
const searchField = document.querySelector('#search-keyword');
let searchedForText;
const responseContainer = document.querySelector('#response-container');
form.addEventListener('submit', function(e) {
e.preventDefault();
responseContainer.innerHTML = '';
function addArticles () {}
function addImage() {}
const imgRequest = new XMLHttpRequest();
imgRequest.onload = addImage;
imgRequest.onerror = function(err) {
requestError(err, 'image');
};
imgRequest.open('GET', `https://api.unsplash.com/search/photos?page=1&query=${searchedForText}`);
imgRequest.setRequestHeader('Authorization', 'Client-ID <27182>');
imgRequest.send();
const articleRequest = new XMLHttpRequest();
articleRequest.onload = addArticles;
articleRequest.onerror = function (err) {
requestError(err, 'articles');
}
articleRequest.open('GET',
`http://api.nytimes.com/svc/search/v2/articlesearch.json?
q=${searchedForText}&api-key=<4c32dbc91636470fb8e286e60041dca5>`);
articleRequest.send();
});
});