0

jQuery と AJAX を使用してページ間で通信しようとすると、奇妙なバグが発生します。$.post() 関数を動作させることができません!

$(document).ready(function() {
    $('#form').submit(function() {  
        $.post('test.php', {'name': 'joey', 'age': 12}, function(data){
                     alert(data);
        });

        return false;
    });
});     

test.php:

<php?
    print_r($_POST);
?>

これを行うと、[object XMLDocument] でアラートが表示されますが、post の最後のパラメーターとして「text」を追加すると、ファイルの完全な php コードでアラートが表示されます。

私の問題は、私が電話するときです:

$.post('test.php', {'name': 'joey', 'age': 12}, function(data){
                 $('#content').html(data);
       });

これにより、firebug でエラーが発生します。「コンテンツ」はdivです。.html('test') を実行すると機能しますが、.html(data) を実行すると機能しません。

私が間違っていることは何か分かりますか?

編集: ここに私のプロジェクト全体 (3 つのファイルなど) を含むドロップボックス フォルダーがあります。私はここで数日間立ち往生しています

https://www.dropbox.com/sh/ns73titud46kea7/aElaYx728G

4

3 に答える 3

2
<php?
    print_r($_POST);
?>

読むべき

<?php
    print_r($_POST);
?>

PHPはXMLノードとして解釈されていると思いますが、明らかに有効なhtmlではありません

于 2012-06-22T17:27:44.543 に答える
1

それは問題ではありませんが、データのタイプをに設定してみてください'html'

$.post('test.php', {'name': 'joey', 'age': 12}, function(data){
    $('#content').html(data);
}, 'html');

または使ってみてください.load()

$('#content').load('test.php', {'name': 'joey', 'age': 12});

物事を除外するために、12 を引用符で囲んでみることもできます...

$('#content').load('test.php', {'name': 'joey', 'age': '12'});
于 2012-06-22T17:38:23.437 に答える
0

返信が少し遅れましたが、無効なjsonを持っている可能性がありますか?

{'name': 'joey', 'age': 12}

する必要があります

'{"name": "joey", "age": "12"}'
于 2012-08-24T16:07:17.503 に答える