Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以使用jQueryLoad调用PHP函数吗?_Jquery - Fatal编程技术网

我可以使用jQueryLoad调用PHP函数吗?

我可以使用jQueryLoad调用PHP函数吗?,jquery,Jquery,我不确定处理这件事的最佳方法是什么,但以下是我正在尝试的。用户删除一张照片后,我需要用新的统计数据和新的表格更新我的两个div。这最初是通过调用两个函数来完成的。我可以用jquery调用这些PHP函数吗?或者有更好的方法吗 下面是我当前的代码片段的样子: <?php include('header.php'); ?> <script type="text/javascript"> $(document).ready(function() { $('.imag

我不确定处理这件事的最佳方法是什么,但以下是我正在尝试的。用户删除一张照片后,我需要用新的统计数据和新的表格更新我的两个div。这最初是通过调用两个函数来完成的。我可以用jquery调用这些PHP函数吗?或者有更好的方法吗

下面是我当前的代码片段的样子:

<?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函数的输出,即新统计和新表。