Javascript 在web应用程序中的新搜索上重新加载搜索结果(不带jQuery)

Javascript 在web应用程序中的新搜索上重新加载搜索结果(不带jQuery),javascript,html,ajax,api,Javascript,Html,Ajax,Api,我有一个简单的web应用程序,它使用API从数据库返回搜索结果,并使用ajax将结果插入页面上的空ul元素中。在跨域请求中使用JSONP 我不知道如何使用javascript,我发现的所有地方都使用jQuery。我希望能够让他们输入另一个搜索词,并有它清除现有的内容从网页上 当前,如果您进行第二次搜索,它只会将新结果附加到现有列表的底部。一旦您使用AJAX从API调用返回了内容,您就可以将其分配给ul或div,例如document.getElementById'YouruId'。innerHTM

我有一个简单的web应用程序,它使用API从数据库返回搜索结果,并使用ajax将结果插入页面上的空ul元素中。在跨域请求中使用JSONP

我不知道如何使用javascript,我发现的所有地方都使用jQuery。我希望能够让他们输入另一个搜索词,并有它清除现有的内容从网页上


当前,如果您进行第二次搜索,它只会将新结果附加到现有列表的底部。

一旦您使用AJAX从API调用返回了内容,您就可以将其分配给ul或div,例如document.getElementById'YouruId'。innerHTML=您从vanilla.js的AJAX调用中获得的内容:


如果我明白你想要什么。您希望从服务器获取结果,并将其插入网页的ul表单字段中。 这只是一个例子,可能会有所帮助

function createRequest(){
    try{
       request = new XMLHttpRequest(); 
    }catch (tryMS){
        try{
            request = new ActivXObject("Msxml2.XMLHTTP");
        }catch (otherMS){
            try{
                request = new ActivXObject("Microsoft.XMLHTTP");
            }catch (failed){
                request = null;
            }
        }
    }
    return request;
}

function loggin(user_id,password){
    request = createRequest();
    data = new FormData();
    data.append('user_id',user_id.value);
    data.append('password',password.value);
    request.onreadystatechange=function(){
        if(request == null){
            alert('Unable to connect');
        }else{
            if(request.readyState==4){
                if(request.status==200){
                    if(request.responseText){
                        document.location.href = request.responseText;
                    }
                }
            }
        }
    }

这将创建和HTTP请求。将数据发布到服务器,然后获取结果并将其返回到javascript,然后直接返回到网页。使用request.responseText追加/插入到相应的字段

当搜索字段出现onsubmit时,我使用了几行简单的html来解决这个问题:

var div = document.getElementById('cart_item');

while(div.firstChild){
    div.removeChild(div.firstChild);
}

我已经让这部分工作,但如果他们进行第二次或第三次etc搜索而不重新加载页面,它只会向我的ul添加越来越多的列表项。我需要一种方法来清除它并在每次用户进行搜索时重新加载。您应该使用document.getElementById'YourULID'.innerHTML=检查返回结果的API代码,因为我们正在分配innerHTML,它应该简单地替换它。我想你的API可能会返回附加的结果。当onsubmit发生时,我使用了几行简单的HTML来解决这个问题:var clear=document.getElementById'list';whileclear.firstChild{clear.removeChildclear.firstChild;}我已经使用JSONP构建了这个应用程序。一切正常。然而,我遇到的问题是,当进行第二次、第三次或更多搜索时,它只会将它们添加到我的列表中。我希望每次进行搜索时都能清除ul。
var div = document.getElementById('cart_item');

while(div.firstChild){
    div.removeChild(div.firstChild);
}