0

我有一点问题,我有一个带有 jQ​​uery 的 JavaScript,我在其中使用从 PHP 获得的数组,在脚本中我将一些数据添加到两个新数组中,我的问题来了,我该如何处理这两个我的 PHP 文件中的数组?我需要将两个新数组中的数据保存在数据库中。在 PHP 中,我有一个表单,可以在其中输入有关用户的一些数据。有人知道将我的数据发送回 PHP 的简单方法吗?

关于脚本的一些信息:我有一个包含学校名称的表格,以及一个以学校 ID 作为值的复选框。当我选中或取消选中其中一个复选框时,脚本会检查它是已经为该特定用户保存在数据库中的学校还是新用户。

    <script>
        var schools = [];
        var oldschools = [];
        var uncheckedschools = [];
        oldschools = <?php echo json_encode($oldschoolids); ?>;

        $(".checkbox").change(function() {
            if(this.checked) {
                var additem = $(this).val();
                for (var i=0; i<oldschools.length; i++) {
                    if (additem == oldschools[i]) {
                        uncheckedschools = jQuery.grep(uncheckedschools, function(value) {
                            return value != additem;
                        });
                    }
                }
                schools.push(additem);
            } else {
                var removeitem = $(this).val();
                for (var i=0; i<oldschools.length; i++) {
                    if (removeitem == oldschools[i]) {
                        uncheckedschools.push(removeitem);
                    }
                }
                schools = jQuery.grep(schools, function(value) {
                    return value != removeitem;
                });
            }
        });
    </script>

我希望有人可以帮助我解决这个问题!

4

1 回答 1

4

您需要使用 AJAX 将更新发送回您的服务器。使用 jQuery 的ajax()方法,它看起来像这样:

$.ajax({
    url: 'path/to/serverside/file.php',
    dataType: 'json',
    data: {schools: schools},
    success: function(dataFromServer) {
        //after the save is successful, you can do something here 
    },
    error: function(dataFromServer) {
        //if there was an error handle it here
    }
});

编辑:正如一些评论者所提到的,您需要json_decode在服务器端使用来解码您发回的 JSON 对象:http: //php.net/manual/en/function.json-decode.php

于 2013-05-30T13:49:47.117 回答