jQuery Array to PHP


jQuery Array to PHP

我有一个小问题,我有一个JavaScript与jQuery在哪里工作,我从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>
我希望有人能帮我解决这个问题!

您需要使用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
    }
});

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