在即时搜索脚本中使用PHP而不是JSON作为输出

时间:2011-06-04 20:14:31

标签: php javascript jquery html json

我有一个用jQuery编写的Google Instant样式搜索脚本,我希望从PHP脚本中提取结果。我知道我的脚本当前需要JSON作为输出,但我希望它输出PHP生成的HTML。我怎么能这样做?

这是我的代码:

$(document).ready(function(){
    $("#search").keyup(function(){
        var search=$(this).val();
        var keyword=encodeURIComponent(search);
        var yt_url='http://www.SITEURL.com/search.php?action=SEARCH&keyword='+keyword+;
        window.location.hash=keyword;

        $.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);
                    });
                }
            }
        });
    });
});

2 个答案:

答案 0 :(得分:3)

只需使用

dataType:"html",

在$ .ajax电话中。结果将以纯文本形式返回,因此如果您只想显示它,则可以

success:function(response){
   $("#result").html(response);
}

答案 1 :(得分:0)

单身:

$("#result").load("filename.html #elementid_inside_filename");  

就够了。 (除非文件在另一个域中)