是否可以在ajax get请求中获取页面的一部分?

时间:2012-12-04 23:34:04

标签: ajax http jquery get

我知道我们可以在向服务器发出GET请求时获取整个页面,但是如果我只对该页面上的某个特定div感兴趣,或者更确切地说是对其内容感兴趣的话。这里唯一的选择是获取整个页面,例如使用jquery find()从中获取div内容吗?或者是否有可能向服务器设置某种查询以请求返回此特定div。

3 个答案:

答案 0 :(得分:3)

$.ajax({
    'type': 'get'
    ...some params...
    success: function(response){
        $(response).find('div you are looking for').appendTo('div you want to append it');
    } 
});

对于某些参数,请检查jQuery ajax

回答你的问题:不,如果没有特殊的服务器端服务,就无法获取HTML的某些部分。

答案 1 :(得分:2)

您可能希望在这种情况下使用更简单的jQuery AJAX工具.load

$('#wrapper').load(href+fragmentSelector, function() {
    // callback to do stuff afterward
});

此处,我们正在将当前网页上的网址fragmentSelector中ID为href的元素加载到#wrapper

仍在请求整个页面,但只返回您请求的内容。

参考:http://api.jquery.com/load/#loading-page-fragments

答案 2 :(得分:1)

您可以使用HTTP RANGE Header,但您可以选择要下载的字节范围,而不是DIV选择的内容。

示例:

curl -r 0-1000 http://localhost -v

请参阅Using the HTTP Range Header with a range specifier other than bytes?