2

这是警报框的输出我正在尝试从 abc.php 获取类“mno”的 div 元素到 xyz.php

http://pastebin.com/MhAqhZpd有我正在使用的代码(不是整个代码只有 ajax 部分)

url 指向脚本,但第二个警告框不显示任何内容,甚至“NULL”也不显示——console.log 也没有给出任何内容。我是 ajax 的新手,所以可能会错过一些琐碎的事情,提前谢谢

4

5 回答 5

4

如果您要访问的文件位于同一服务器中,请使用http://api.jquery.com/load/ 。

$("div").load("abc.php div.mno");
于 2012-08-17T14:29:28.590 回答
1

$.load()如果您不介意它非常不灵活,那就太好了,但是如果您想要功能更强大的东西,您实际上可以使用$.getor $.post

例子:

var data = {'someParam':'someValue'};
$.post('abc.php', data, function(response){
    var myDiv = $('.mno', response); //get class .mno from response text
    alert(myDiv.html());
});

如果您使用它来获取下一页的搜索结果,这可能非常简洁,因此您希望将参数传递给下一页。

于 2012-08-17T14:40:20.553 回答
1

您可以使用 jQuery 加载方法。.load() 方法与 $.get() 不同,它允许您指定要插入的远程文档的一部分。这是通过 url 参数的特殊语法实现的。如果字符串中包含一个或多个空格字符,则假定字符串中第一个空格之后的部分是确定要加载的内容的 jQuery 选择器。

$('div').load('abc.php div.mno');
于 2012-08-17T14:32:49.883 回答
1

也许你可以这样:(我坚持你的问题在说什么!)

$.get('abc.php',function(data){
    var mnoDivHTML = $(data).find('div.mno').html(); //the html content of .mno div in abc.php
    $('div.yourclass').html(mnoDivHTML); //fill the desired div in the current page
});
于 2012-08-17T14:39:16.477 回答
1

另一种方法:) 只需将 load.html 替换为您想要加载的文档和 div,例如:mypage.php .somediv

<script type="text/javascript">    

$(document).ready(function(){
//var ajax = function(url){
//var url = 'load.html';
//$('.content').load(url);
//}
// Than you call it like THIS: ajax();
//$('.button').click(function(){
//$('.content').load('load.html')
//});
//response contains the text content that was returned from the ajax request
$(".content").load('load.html', function(response, error, xhr) {
if (error == "error") {
var msg = "Sorry but there was an error: ";
$("#error").html(msg + xhr.status + " " + xhr.statusText);


}
});
});
});
</script>
于 2012-08-17T14:43:49.010 回答