jQuery:通过POST传输代码

时间:2013-01-03 07:10:31

标签: jquery ajax

我有一个textarea,用户可以输入ID为'code_box'的代码。

<textarea id = 'code_box'></textarea>

然后我有了这个jQuery,它使用ajax将代码发送到处理它的PHP脚本。

$('#submit_button').click(function() {
    var code= $('#code_box').val();

    if(code.length > 0) {
        $.ajax ({
            type: 'POST',
            url: '/php/handle_code.php',
            cache: false,
            data: 'code=' + encodeURIComponent(code),
            success: function(output) {
                window.location = output;
            }
        });
    }
});

但是,在尝试发送代码时,它实际上并不发送代码。我已经验证了“粘贴”变量中的代码。我还验证了$ _POST ['code']变量实际上并没有在PHP端接收任何内容,所以问题必须在ajax请求中。其他输入工作,例如纯文本,这很好。在使用ajax将代码发送到PHP脚本之前,我还需要做些什么才能清理代码?

编辑: 以下是一些经过精细处理的代码:

This is plain text.

以下是一些没有:

<?php
    echo "test";
?>

2 个答案:

答案 0 :(得分:2)

我认为您不是以ajax需要的正确方式发送数据:

$('#submit_button').click(function() {
    var code = encodeURIComponent($('#code_box').val());

    if(code.length > 0) {
        $.ajax ({
            type: 'POST',
            url: '/php/handle_code.php',
            cache: false,
            data: {code:code},
            success: function(output) {
                window.location = output;
            }
        });
    }
});

试试这个,未经过测试但可能对您有帮助。

信息:http://api.jquery.com/jQuery.ajax/

答案 1 :(得分:0)

 var code= $('#paste_box').val();

应该是

 var code= $('#code_box').val();