在进行ajax调用时,如何返回远程文档的一部分?相反,我得到整个页面,我很有兴趣操纵这个返回的数据并将其加载到特定的位置而不是..
例如:
$.ajax({
type: "POST",
url: "includes/search.php",
beforeSend: function () {
$( "#Loader" ).html('loading..');
},
data: {t : t, r: r},
success: function (e) {
$( "#table" ).html(e);
这将返回search.php的整个HTML内容,而我希望能够定位特定的Div,我选择在哪里加载它们。类似于:
$( "#result" ).load( "ajax/test.html #container" );
我想回来:
$( "#table" ).load( "#table" ); // Load the Div #table from search.php into Div #table of current document
$( "#header" ).load( "#Stats" ); // ect.. load #Stats in current #Header...
},
error: function(xhr, error){
console.debug(xhr); console.debug(error);;
}
});
我在过滤数据表时使用此功能并根据选择fecthing查询统计信息...谢谢
答案 0 :(得分:1)
您可能希望获取这些结果的JSON(或XML)版本,而不是尝试使用javascript将html解析为块。
在您的includes / search.php
中修改它(或创建一个search_json.php,或其他),以便它输出JSON而不是标记。
如何做到这一点取决于它正在做什么,但作为一般规则,你想要将信息加载到关联数组中,然后使用PHP对它执行json_encode()。
http://us3.php.net/manual/en/function.json-encode.php
然后在客户端使用$ .parseJSON(),它会将其拆分为一个标准的javascript对象,您可以随意使用它。
答案 1 :(得分:0)
这个帖子完全回答了我的想法。我希望它对某人有帮助。 Answer