使用PHP作为后端的jquery中的Ajax方法

时间:2016-07-04 15:13:54

标签: php jquery json ajax

我有一个脚本文件,其中已经实现了ajax方法,它将一条记录添加到表单中...然后我有一个用作后端的php文件。我想说的是我们在php中声明了记录变量,我们只在jquery部分声明它。但是我们是如何使用

实际访问它的呢?
$record = json_decode($_POST['record']);

脚本文件中的json_decode和json_stringify是什么。

main.js

$add_form.submit(function(e) {

        e.preventDefault();

        var fields = ['id', 'name', 'subject', 'theory', 'practical'];
        var record = {};

        for (var index in fields) {

            var field = fields[index];

            if (field == 'id' || field == 'theory' || field == 'practical')
                record[field] = parseInt( $('input#add_'+field).val() );

            else
                record[field] = $('input#add_'+field).val();

        }


        record.total = record.theory + record.practical;



        $.ajax({
            url: '/ab_batch/practice/db/action.php',
            type: 'POST',
            data: {
                action: 'ajaxAddRecord',
                record: JSON.stringify(record)
            },

            success: function(result) {

                if ( 'true' == result.trim() ) {

                    $add_modal.find('.ajax_add_result').text('Student Record Added...').css({
                        color: 'green',
                        display: 'block'
                    }).fadeOut(2500);



                }
                else {
                    $add_modal.find('.ajax_add_result').text('Error Adding Student Record!').css({
                        color: 'red',
                        display: 'block'
                    }).fadeOut(2500);
                }

            },

            error: function() {}

        });


    });

action.php的

switch ($action) {
case 'ajaxAddRecord':

        $record = json_decode($_POST['record']);
        print ( $student->addRecord($record) ) ? 'true' : 'false' ;

        break;
}

1 个答案:

答案 0 :(得分:2)

在main.js中声明(创建)了action变量。你是对的。
然后使用它并使用值填充它。

$.ajax({代码块将字符串化发送给action.php “stringified”表示转换为字符串 必须这样做才能将它发送到服务器端PHP,因为无法将对象(或数组)直接发送而不将其转换为字符串。

然后,收到的$_POST['record']字符串必须“解码”才能访问这些值 这就是json_decode所做的......它用它创建一个数组。

Google更多关键词: jQuery object
JSON.stringify()
json_decode()
PHP array
Ajax example tutorial