我想将php文件的内容加载到已存在的div中。我尝试了以下代码,但我得到的错误加载没有在firebug中定义。有人可以帮助我吗?
$("#post_button").click(function(){
var result = load("<?php echo SITEURL; ?>/newpost.php", data);
$("#parent-post").append(result, function() {
special_functions();
});
答案 0 :(得分:1)
$.load()
是$.ajax()
的便捷方法,默认情况下会替换选择器的html。为了更加灵活,可以使用另一种方法,如$.get
,它可以让您访问返回数据并且不会操纵DOM。然后,您可以附加而不是替换
http://api.jquery.com/jQuery.get/
$("#post_button").click(function(){
$.get("<?php echo SITEURL; ?>/newpost.php", data, function( returnData){/* assuming your data var is data to send to server*/
$("#parent-post").append(returnData);
special_functions();
});
});
答案 1 :(得分:0)
最简单的可能是将远程内容加载到div的子元素而不是div本身。请注意我在jquery中所做的更改(必须在要加载内容的元素上调用load)。
<div id="parent-post">
Lorem ipsum dolor sit amet.
<div id="inner_div"></div>
</div>
<script type="text/javascript">
$("#post_button").click(function(){
$("#inner_div").load("<?php echo SITEURL; ?>/newpost.php",
data, special_functions);
});
</script>
答案 2 :(得分:0)
此处定义的load
方法在哪里?如果您希望它是jQuery load
,那么您应该以这种方式使用它。
$(element).load('url');
由于您希望附加内容而不是替换内容,因此load
是正确的方法。使用get
,post
或ajax
之类的任何其他方法从php获取内容,然后将其附加到所需的容器中。
$.get("<?php echo SITEURL; ?>/newpost.php", function(response){
$("#parent-post").append(response);
special_functions();
});
答案 3 :(得分:0)
$.getJSON("<?php echo SITEURL; ?>/newpost.php", function(data){
$("#parent-post").append(data);
special_functions();
});
其中getJSON也可以是$ .get,$ .post。
答案 4 :(得分:0)
$("#post_button").click(function(){
$.post("<?php echo SITEURL; ?>/newpost.php", data, function(result) {
$("#parent-post").append(result);
special_functions();
});
});