-1

post.js

$.post(
  "/scripts/update.php",
  {id: testId, age: testAge},
  function(data) {
    $(".testDiv").html(data.testId);
    $(".testDiv2").html(data.testAge);
  },
  "json"
);

update.php

$userId = $_POST["id"];
$userAge = $_POST["age"];

// contact database and retrieve user Id and user name...

echo json_encode(array("testId"=>$userId, "testAge"=>$userAge));

, "json");コードを取り出すと、情報をupdate.phpうまく渡すことはできますが、データを取得することはできません。jsonを追加した後、データを取得または送信できません...

私は何が間違っているのですか?

4

3 に答える 3

3

$.ajax 関数の方がニーズにより適していると思います。

$.ajax({
    type: "POST",
    url: "/scripts/update.php",
    data: {id: testId, age: testAge},
    dataType: "json",
    success: function(data) {
        $(".testDiv").html(data['testId']);
        $(".testDiv2").html(data['testAge']);
    }
});

PHPスクリプトは同じままです。受け取ったエラーに関する情報がほとんどないため、コードを提供しています。camus が既に言ったように、エラーの詳細を教えてください。

于 2012-04-15T13:58:39.707 に答える
0

にアクセスしている場合data.testId、つまり、jQuery post 呼び出しの結果として update.php から受け取った応答 (例では data という変数に格納されています) にアクセスしていることを意味します。データ型を として言及するjSonことで、サーバーからの応答が確実に jSon 形式に変換されます。

あなたの update.php ページがこのような jSon を返す場合

{ "id": "3","age":"53"}

data.id次に、や などの個々の値にアクセスできますdata.age

上記のようにサーバーページから返される有効なjsonがある場合、以下のコードは機能するはずです

$.post("/scripts/update.php", {  id: testId, age: testAge}, dataType:"json",function(data) {
   $(.testDiv).html(data.id);
});
于 2012-04-15T13:57:47.257 に答える
0

私は@gimg1が言ったことをしますが、次のようにします:

var form_data = {
            testId: $("#testIdForm").val(),
            testAge: $("#testAgeForm").val()
        };
$.ajax({
    type: "POST",
    url: "/scripts/update.php",
    data: {id: testId, age: testAge},
    dataType: form_data,
    success: function(response) {
        if(response == 'success'){
            //do success function here
        }
    }
});
于 2012-04-15T14:34:45.123 に答える