Loading HTML from jQuery Ajax POST


Loading HTML from jQuery Ajax POST

我正在向PHP脚本发出jQuery Ajax POST请求,该脚本返回一个HTML选择菜单及其所有选项。

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

调试告诉我 PHP 脚本执行正确,并按预期返回 HTML 选择菜单。然而,Firebug告诉我"菜单"是未定义的 - 显然没有任何东西加载到"#editions"div中。

我期望"菜单"包含从 PHP 函数返回的 HTML 字符串,但情况似乎并非如此。有人可以告诉我我做错了什么吗?提前谢谢。

--

根据要求,PHP editions() 方法代码:

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

同样,在返回点进行调试告诉我该方法正在返回一个使用正确内容正确格式化的 HTML 字符串。

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;
}