0

すべてのオプションを備えたHTML選択メニューを返すPHPスクリプトに対してjQueryAjaxPOSTリクエストを作成しています。

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

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

'menu'にPHP関数から返されたHTML文字列が含まれていることを期待していましたが、そうではないようです。誰かが私が間違っていることを教えてもらえますか?前もって感謝します。

-

要求に応じて、PHP editions()メソッドコードは次のとおりです。

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

繰り返しになりますが、リターンポイントでデバッグすると、メソッドが正しい内容で適切にフォーマットされたHTML文字列を返していることがわかります。

4

1 に答える 1

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;
}
于 2012-04-07T03:43:22.320 に答える