我试图从abc.php获取类“mno”的div元素到xyz.php
http://pastebin.com/MhAqhZpd有我正在使用的代码(不是整个代码只有ajax部分)
url指向脚本,但第二个警告框不显示任何内容,甚至不显示“NULL” - console.log也没有提供任何内容。我是ajax的新手,所以可能会提前遗漏一些微不足道的事情
答案 0 :(得分:4)
如果您要访问的文件位于同一服务器中,请使用http://api.jquery.com/load/。
$("div").load("abc.php div.mno");
答案 1 :(得分:1)
您可以使用jQuery加载方法。与$ .get()不同,.load()方法允许您指定要插入的远程文档的一部分。这是通过url参数的特殊语法实现的。如果字符串中包含一个或多个空格字符,则假定第一个空格后面的字符串部分是jQuery选择器,用于确定要加载的内容。
$('div').load('abc.php div.mno');
答案 2 :(得分: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
});
答案 3 :(得分:1)
$.load()
非常棒,如果你不介意它不太灵活,但如果你想要更强大的东西,你可以实际使用$.get
或$.post
。
示例:
var data = {'someParam':'someValue'};
$.post('abc.php', data, function(response){
var myDiv = $('.mno', response); //get class .mno from response text
alert(myDiv.html());
});
如果您使用它来获取搜索结果的下一页,这可能非常简洁,因此您可能希望将参数传递到下一页。
答案 4 :(得分: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>