0

奇妙な問題に直面しています...ajax呼び出しからのデータを使用して動的にテーブルを作成しています..コードはFirefox/で機能しますが、Chromeでは失敗します...

私が作成しようとしているHTML構造:

<title>Offers MADE<title>    
 <Table>
   proposed offer table
 </table>

<title>Offers Received<title>    
  <Table>
   Received offer table
 </table>

しかし、代わりにこれは私がChromeで得た結果です/Firefoxでも動作します。

<title>Offers MADE<title>       

<title>Offers Received<title>  

  <Table>
   proposed offer table
 </table>

  <Table>
   Received offer table
 </table>

私はそれがajaxコールレスポンスのタイミングと何かをしなければならないと信じています。ブレークポイントを設定すると、常にうまくいきます。

ajax呼び出しの順序付けが正しいことを確認するために、最初のAJAX呼び出しのsuccess()関数で2番目のAJAX呼び出しを行っています。

 $.ajax{
    ::
    url : get_Proposed_Offers.php
    ::

    success : function(data)
      {
          //I make sure that the Proposed Offer Table gets populated
          //I populate the "div" tag with required HTML
          populate_Proposed_OfferTable();


          //Here's where I make another ajax call to populate 
          get_Received_OfferData();
      }

 }

 function get_Received_OfferData()
 {
    $.ajax{
    ::
    url : get_Received_Offers.php
    ::

    success : function(data)
      {
          populate_Received_OfferTable();              
      }

    }

 }

誰かが私がここで間違っていることを指摘できますか?

同じタグを使用する代わりに、「提案」と「受信」のオファーを異なるタグに入力し始めると、問題が解決するはずです。しかし、なぜこのアプローチが機能しないのか知りたいです。

4

1 に答える 1

3

なぜ2つのajax呼び出しが必要なのですか?1つのajax呼び出しを行い、PHPに2つの配列のデータをJSONで送信させます

 $.ajax({

   url:'populate_tables.php',
   dataType :'JSON',
   success: function(data){

   $.map(data.proposed.records,function(proposed_row,i){
      populate_proposed_table here
   }
   $.map(data.recieved.records,function(received_row,i){
      populate_received_table here
   }
  }
})

これにより、他の機能や効果を作品に追加することもできます

更新:1回の呼び出しに必要な数のパラメーターを渡すことができます。

$.ajax({
 ........
 data:{param1:value1,param2:value2....},
})

そしてphpはデータを配列として見るので

<?php
   $param1 = $_REQUEST['param1'];//not sure if you are using post or get
   $param2 = $_REQUEST['param2']...

ここからクエリを実行します

于 2012-08-17T01:11:46.827 に答える