2012-04-07 53 views
0

我正在向一个PHP脚本发出一个jQuery Ajax POST请求,该脚本返回一个包含所有选项的HTML选择菜单。从jQuery Ajax加载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版本()方法的代码:

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? – 2012-04-07 03:44:27

+0

Thx用于响应。是的,'dataString'包含PHP函数返回HTML字符串所需的变量。我知道该部分工作正常,因为该字符串是从PHP返回的预期。 – cantera 2012-04-07 03:48:19

+0

是你的网址:“控制器/方法”? – 2012-04-07 03:50:53