0

.getサーバーに値を送信して配列と比較するjQueryに取り組んでおり、配列は応答としてjson形式にエンコードされます。以下はコードです (jQuery および PHP zend)。私の問題がキーと値の識別にあるのか、それとも構文にあるのかはわかりません。私のphpコントローラーによってエコーされた生のjsonデータを表示する方法はありますか?

   $.get( 
    "/ed/macro",
       {value: singleValues},
         function(data) {
             $.each(data, function(key,value1){
         $.each(data.value1[0], function(key,value2){

           $('#stage').html("data");; 
       });
   });
    },"json");

   $select = $this->getDbTable()->select();
   $select->from('sub');
   $resultSet = $this->getDbTable()->fetchall($select);
   $data   = array();

   foreach ($resultSet as $row) {
        $entry = new Application_Model_Subdiscipline();
        $entry->setIdSub($row->idsubdiscipline)
              ->setSub($row->subdiscipline)
              ->setDescription($row->description);

        $data[] = $entry;
   }

   return $data;
}

public function macAction()
{
    $request = $this->getRequest()->getParam('value');

    // acti
    $sub = new Application_Model_Sub();
    $fetch = $sub->fetchAll($request);
    $jsonObject = Zend_Json::encode($fetch);
    echo $jsonObject;  
      // action body
}
4

1 に答える 1

0

print_rPHP およびconsole.logJavascript でオブジェクトを表示するには。またはサムが言ったように、JS がそれを呼び出した後、何が送信されたかを確認するためにネットを調べます。

問題のあるjsonであることをサーバーにブラウザに伝えるように指示した後、json文字列をエコーし​​ていると仮定すると、header("Content-type: application/json");おそらくここにあります

$.each(data, function(key,value1){
     $.each(data.value1[0], function(key,value2){

data.value1あなたがそこで扱っているものではありませんvalue1value1 ISは配列であると想定していますが、その中の最初の要素を選択してvalue1[0]反復していますか?

$.each(data, function(key,value1){
     $.each(value1[0], function(key,value2){

または多分あなたは後にしています

$.each(data, function(key,value1){
     $.each(value1, function(key,value2){

オブジェクトをエコーし​​て見せてください。

于 2013-02-08T00:43:45.953 に答える