2012-03-28 1 views
6

私はajaxレスポンスから[オブジェクトオブジェクト]を取得しています。私のURLでajaxが[オブジェクトオブジェクト]を生成していますか?

 $.ajax({ 
      type: "GET", 
      data: "id_1="+id_1+"&id_2="+id_2, 
      url:"ajax/url.php" 
     }).done(function(data){ 
      var left= $(data).find("#left"); 
     $("#left").html(left); 
      alert(left); 


     }); 

、私はちょうど私これがすべて完了した場合

if(isset($_GET["id_1"]) && isset($_GET['id_2'])){ 
    $id_1 = $_GET["id_1"]; 
    $id_2 = $_GET['id_2']; 

    $right= $dbh->prepare("SELECT COUNT(*) FROM table WHERE id_1 = ?"); 
    $right->execute(array($id_1)); 
    $left= $dbh->prepare("SELECT COUNT(*) FROM table WHERE id_1 = ? "); 
    $left->execute(array($id_2)); 


    <div id='right'><?php echo $right->fetchColumn();?></div> 

    <div id='left'><?php echo $left->fetchColumn();?></div> 



} 

コーディングシンプルを持って、それはそれを行う理由

、誰もが知っているバック[オブジェクトのオブジェクト]を警告?

ありがとうございます!

EDIT:

Iがの.done、いくつかのコードを追加して(関数())

data

答えて

1

を試してみてください。問題は、divを別のものにまとめる必要があることでした。その後、find()メソッドはそれらのIDを取得して適切なオブジェクトを返すことができます。

if(isset($_GET["id_1"]) && isset($_GET['id_2'])){ 
    $id_1 = $_GET["id_1"]; 
    $id_2 = $_GET['id_2']; 

    $right= $dbh->prepare("SELECT COUNT(*) FROM table WHERE id_1 = ?"); 
    $right->execute(array($id_1)); 
    $left= $dbh->prepare("SELECT COUNT(*) FROM table WHERE id_1 = ? "); 
    $left->execute(array($id_2)); 

<div> // wrapper 
    <div id='right'><?php echo $right->fetchColumn();?></div> 

    <div id='left'><?php echo $left->fetchColumn();?></div> 
</div> 



} 
11

が目的です。 [object Object]は、オブジェクトのtoString()レスポンスにすぎません。

オブジェクトのデータにアクセスする必要があります。 console.log(data)を使用して内容を確認してください。

のようにコードを提供していないということは、PHPの例のようです。投稿したコードは構文エラーになります。

また、応答のMIMEタイプも確認してください。 dataTypeを強制的にhtmlとしたい場合があります。

+2

+1 'console.log()はあなたの親友です。 – msanford

+1

皆様は、[0120]をよく読んで[SOCCER](http://sscce.org/)に投稿してください.SO – Phil

+0

@Phil Excellent link! :) – alex

0

単純な文字列ではなくオブジェクトが戻ってきています... "url.php"というページからのレスポンスが "data"のように見えます あなたの "data"で何をしようとしていますか?本当のアプリですか?私は警告がデバッグ対策であると仮定していますか?

+0

ブラウザでJSデバッガーをフックアップして、ここで作業する必要があるかどうかを確認してください:-) – TGH

0

ここでJSONレスポンスを作成していますか?私はそれがfetchColumn()メソッドであると仮定します。 json_encode()を正しく準備していることを再度確認してください。

すべてをダンプするとどうなりますか?

var_dump($right); 
var_dump($down); 
var_dump($right->fetchColumn()); 
var_dump($down->fetchColumn()); 
0

..私は私の問題を解決した

$response = ""; 
$response .="<div id='right'>".$right->fetchColumn()."</div>"; 
$response .="<div id='down'>".$down->fetchColumn()."</div>"; 

echo $response;exit;