0

これは本当に奇妙です。サーバーにデータを送信し、PHPスクリプトでデータを解析してから、応答を返送しようとしています。正しく形成されたURLが送信されています:

http://localhost/ajax/test.html?row=rec_no_1

、しかし、サーバーは200のリターンコードにもかかわらずPHPスクリプトからのコンテンツで応答しないようです。実際、開発者ツール(Google Chrome内)はPHPファイルについて何も言いません。AJAXの「データ」ステートメントは適切にフォーマットする必要があります。そうしないと、正しいURLを取得できません。(GETの代わりに)POSTは役に立ちません。

AJAXデータを文字列に変更すると、正常に機能します。これは、AJAXデータに問題があることを意味します。しかし、URLが正しく形成されており、選択した行によって変化することを考えると、何が理解できません。

何か案は?

これがJavascriptです:

$(document).ready(function() { 
$(".submit").click(function() {

$.ajax({
        type: 'GET',
        url: 'getTable.php',
        dataType: 'html',
        data: {row: $('input[type='checkbox']:checked').val()},
        //data: {row: 'rec_no_2'},
        success: function($result) {
    $('.tableHolder').text($result);
    }
    });
    return false;
});
});

PHPコードは次のとおりです。

<?php
if (isset($_GET['row'])) {
    $tableRow = $_GET['row'];
    echo $tableRow;
}
else
        echo 'TEST';
?>
4

2 に答える 2

1

構文が正しくありません:

$('input[type='checkbox']:checked').val()

前後に二重引用符を使用する必要がありますcheckbox

$('input[type="checkbox"]:checked').val()

とにかく、console.log( $('input[type="checkbox"]:checked').val() )送信されている値を見つけるためだけにajax呼び出しの前にaを実行します。

于 2012-09-09T21:01:19.587 に答える
0

javascriptファイルをサーバーに移動してみてください。Ajaxはクロスドメインでは機能しません。ローカルホストでjavascriptファイルを実行していて、ライブサーバーから情報を取得しようとしています。phpファイルとjavascriptファイルの両方を、ライブまたはローカルホストの同じサーバーに保持します。それはうまくいくでしょう。

もう1つ、ajaxリクエストのurlパラメーターを変更してみてください。完全なURLを試すか、ファイル名の前にスラッシュ/を付けるかどうかを試してください。

于 2012-09-06T20:12:23.637 に答える