我使用PHP和jQuery,这是我的代码(到目前为止)。
$(".design").load("<?php echo get_bloginfo('url'); ?>/?addmod_ajax=1",{
menu: 'layout',
});
这就是我想要做的。
如果我正在调用的PHP文件在PHP数组中找到一些值(在服务器端),我希望jQuery将一些内容追加(添加)到HTML元素。是否可以进行类似的回调?
对我来说很重要的是我仍然可以将我的POST变量发送到我的PHP文件。
答案 0 :(得分:2)
您可以使用已有的load()功能生成标记并将其添加到您的网页中。我将假设您从ajax方法返回JSON:
$(".design").load("<?php echo get_bloginfo('url'); ?>/?addmod_ajax=1",{
menu: 'layout' }, function(data) {
var markup = '<ul>';
for (var x = 0; x < data.length; x++ ) {
markup += '<li><a href="' + data[x].Url + '">'+data[x].Text+'</a></li>';
}
markup += '</ul>';
#('menu').html(markup); });
load()
函数接受一个可以处理ajax调用响应的函数作为可选的第三个参数。在这个例子中,为了说明的目的,我假设你想要构建一些导航,所以我正在遍历一个数组并构建一个无序列表。
也可以通过ajax请求获得更多控制/选项。我建议您查看.ajax(),了解您可以做的事情。
这是一个较旧的主题,但是这里讨论了堆栈溢出,它显示了生成html并将其插入DOM的各种方法:JQuery: Build HTML in 'memory' rather than DOM。还有tmpl()
插件对于生成标记非常有用。您可以详细了解tmpl()
here。
答案 1 :(得分:1)
正如@yoda在评论中所说,您可以使用$ .ajax()来完成此操作,如下所示:
$.ajax({
type: "GET",
url: "<?php echo get_bloginfo('url'); ?>",
data: "addmod_ajax=1",
success: function(data){
alert("data is " + data );
}
});
如果需要,可以交换POST
的类型