我可以使用jQueryLoad调用PHP函数吗?
我不确定处理这件事的最佳方法是什么,但以下是我正在尝试的。用户删除一张照片后,我需要用新的统计数据和新的表格更新我的两个div。这最初是通过调用两个函数来完成的。我可以用jquery调用这些PHP函数吗?或者有更好的方法吗 下面是我当前的代码片段的样子:我可以使用jQueryLoad调用PHP函数吗?,jquery,Jquery,我不确定处理这件事的最佳方法是什么,但以下是我正在尝试的。用户删除一张照片后,我需要用新的统计数据和新的表格更新我的两个div。这最初是通过调用两个函数来完成的。我可以用jquery调用这些PHP函数吗?或者有更好的方法吗 下面是我当前的代码片段的样子: <?php include('header.php'); ?> <script type="text/javascript"> $(document).ready(function() { $('.imag
<?php
include('header.php');
?>
<script type="text/javascript">
$(document).ready(function() {
$('.image_result li').click(function() {
var imgInfo = $(this).attr('id').split(':');
if(confirm('Are you sure you want to delete this image?')) {
$.post('delete_image.php?image_id=' + imgInfo[0] + '&user_id=' + imgInfo[1], function(data) {
// How can I update both divs (imageStats, and imageTable) by calling my two PHP functions?
});
}
});
});
</script>
<div id="imageStats" ><?php echo get_image_stats(); ?></div>
<div id="imageTable" ><?php get_user_images(); ?></div>
$(文档).ready(函数(){
$('.image_result li')。单击(函数(){
var imgInfo=$(this.attr('id').split(':');
如果(确认('您确定要删除此图像吗?')){
$.post('delete_image.php?image_id='+imgInfo[0]+'&user_id='+imgInfo[1],函数(数据){
//如何通过调用两个PHP函数来更新这两个div(imageStats和imageTable)?
});
}
});
});
创建一个仅显示函数输出内容的文件,例如:
ajax.php
// Include or require the file that contains your functions HERE
switch($_GET['action']) {
case 'get_stats':
echo get_image_stats();
break;
case 'get_images':
get_user_images();
break;
}
JS
$.post('delete_image.php?image_id=' + imgInfo[0] + '&user_id=' + imgInfo[1], function(data) {
$('#imageStats').load('new_php_file.php?action=get_stats');
$('#imageTable').load('new_php_file.php?action=get_images');;
});
注意:有很多方法可以解决您的特定问题。这只是无数实现中的一个,但它应该给你足够的思考空间。你需要做的是调用你的PHP方法:
get\u image\u stats()
和get\u user\u images()
并在jquery ajax post方法调用delete\u image.PHP
脚本时发送它们的输出
假设get_image_stats()
返回一个字母数字字符串,get_user_images()
返回一个完整的HTML表,并且其中都没有“|”字符,我要做的是将get_image_stats()
和get_user_images()
的输出与“|”连接起来并将其回显delete_image.php
如果帖子成功,我会将数据拆分回来,并更新统计数据和图像,如下所示:
var resp = data.split("|");
$('#imageStats').html(resp[0]);
$('#imageTable').html(resp[1]);
我推荐这种方法,因为我认为它对现有代码结构的更改最少。目前我唯一的问题是,在加载新表后,我松开了单击事件……请编辑问题并添加两个PHP函数的输出,即新统计和新表。