0

ボタンを押すと、データを返す ajax ポストを実行します。その ajax 投稿は、データを更新し、ボタンを強調表示する必要があるかどうかを示す数値を返します。私の問題は、ajax ポスト コールバック関数が数値と更新された情報の両方を返すようにすることです。これは ajax ファイルでは簡単に実行できますが、コールバック関数でこれを行う方法がわかりません。以下に簡単な例を示します。

$.post(ajax_file, 
{
primary_id: primary_id
}, 
function (data){
    //ajax file calls back the number 1 or the number 0. But I want to return more
    //than just that. Maybe an array would work?    
    if (data == 1) 
      { 
      $(the_button).addClass('highlighted');            
      }     
    else if (data == 0) 
          {
          $(the_button).removeClass();
          }         
});  
4

3 に答える 3

3

JSON 形式で応答を作成する必要があります。PHP コードは、次のようなコードで応答する必要があります -

$response = array(
  'code'=>1,
  'updates'=> $updates // this could be HTML or an array.
);

echo json_encode($response);

あとは、期待するデータが JSON 形式であることをpost()関数で指定するだけです。

$.post(ajax_file, { primary_id: primary_id }, function (data){
    if (data.status == 1) { 
      $('.the_button').addClass('highlighted');            
    }     
    else if (data.status == 0) {
      $('.the_button').removeClass();
    }        
    // do something with data.updates 
},'json');  
于 2012-09-07T01:10:10.460 に答える
0

代わりに json を返します。

data = {
  "check" : 1,
  "otherInfo" : {
  }
}

次に、クライアント側で、

data.checkボタンをハイライトする条件を確認する

そしてdata.otherInfo、他の追加情報を取得します。

json_encode()サーバー側でphp配列をjsonに変換できます。

于 2012-09-07T01:11:18.090 に答える
-1

情報の配列を返す オブジェクトを返しますか?

{
    "returnCode": 4,
    "returnString" : "No way man",
    "LongData" : "This quick brown fox ignored the lazy dogs."
}
于 2012-09-07T01:09:54.423 に答える