首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >修复即时JSON搜索脚本的SERP的URL

修复即时JSON搜索脚本的SERP的URL
EN

Stack Overflow用户
提问于 2011-06-03 20:19:21
回答 1查看 148关注 0票数 0

我有一个搜索脚本,如谷歌即时搜索,显示您键入的相关结果。它是用JSON编写的,并在用户输入时使用JavaScript生成结果的URL。但是,如果您单击某个结果,然后返回到SERP,则不会显示任何结果。你必须重新开始搜索。为什么会这样呢?我希望你能理解我试图描述的内容。

下面是我的HTML代码:

代码语言:javascript
代码运行次数:0
运行
复制
<input type="text" id="search" name="q">
<div id="result"></div>

下面是我的JSON代码:

代码语言:javascript
代码运行次数:0
运行
复制
$(document).ready(function(){
    $("#search").keyup(function(){
        var search=$(this).val();
        var keyword=encodeURIComponent(search);
        var yt_url='http://api.search.live.net/json.aspx?JsonType=callback&JsonCallback=?&Appid=642636B8B26344A69F5FA5C22A629A163752DC6B&query='+keyword+'&sources=web';

        $.ajax({
            type:"GET",
            url:yt_url,
            dataType:"jsonp",
            success:function(response){
                $("#result").html('');
                if(response.SearchResponse.Web.Results.length){
                    $.each(response.SearchResponse.Web.Results, function(i,data){
                        var title=data.Title;
                        var dis=data.Description;
                        var url=data.Url;
                        var final="<div class='webresult'><div class='title'><a href='"+url+"'>"+title+"</a></div><div class='desc'>"+dis+"</div><div class='url'>"+url+"</div></div>";
                        $("#result").append(final);
                    });
                }
            }
        });
    });
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-03 20:32:34

如果我没理解错的话,你是在做一个完整的页面加载来得到一个结果,当你返回的时候,你又做了一个完整的页面加载。

基本上,如果你想持久化页面加载的搜索结果,你必须将搜索查询存储在会话作用域或cookie中,当会话/cookie出现时,javascript代码将不得不发出搜索,就好像它是在搜索域中输入的一样。

因此,当你点击一个结果,然后返回,javascript就会智能地知道这是一个以前搜索过的返回用户。并将相同的结果填充到DOM中。

DOM更改不会在页面加载上持久化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6227006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档