1

ユーザーが「code_box」の ID でコードを入力できるテキストエリアがあります。

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

次に、ajaxを使用してコードを処理するPHPスクリプトにコードを送信するこのjQueryがあります。

$('#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";
?>
4

2 に答える 2

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/

于 2013-01-03T07:27:53.363 に答える
0
 var code= $('#paste_box').val();

する必要があります

 var code= $('#code_box').val();
于 2013-01-03T07:11:54.787 に答える