2012-04-07 18 views
0

私はすべてのオプションを含むHTML選択メニューを返すPHPスクリプトにjQuery Ajax POSTリクエストを作成しています。jQueryからHTMLをロードするAjax POST

$.ajax({ 
    type: "POST", 
    url: "books/editions", 
    data: dataString, 
    cache: false, 
    success: function(menu) { 
     $('#editions').html(menu); 
    } 
}); 

デバッグでは、PHPスクリプトが正しく実行され、HTML選択メニューが期待通りに返されていることがわかります。しかし、Firebugは私に、 'menu'は定義されていないと言っています。そして、明らかに '#editions' divには何もロードされていません。

私は、PHP関数から返されたHTML文字列を 'menu'に入れることを期待していましたが、これは当てはまりません。誰かが私が間違っていることを教えてもらえますか?前もって感謝します。 -

要求され、PHP版()メソッドのコードとして

:再び

public function editions() 
{ 
    $menu = $this->books_repository->get_editions_menu(); 
    return $menu; 
} 

、リターンポイントでのデバッグは、この方法が適切でフォーマットされたHTML文字列を返していることを私に伝えます正しい内容。

答えて

3
public function editions() { 
    $menu = $this->books_repository->get_editions_menu(); 
    //return $menu; when ajax jQuery is used, make sure the output is printed 
    echo $menu; 
} 
+0

あなたのPHPの部分には$ _POST [somename]でしたか? ajaxのデータ:dataStringは何ですか? –

+0

応答するThx。はい、 'dataString'には、PHP関数がHTML文字列を返すために必要な変数が含まれています。期待通りに文字列がPHPから返されるため、その部分が正しく動作していることがわかります。 – cantera

+0

あなたのURLは「コントローラ/メソッド」ですか? –

関連する問題