从jQuery加载cakePHP元素

从jQuery加载cakePHP元素,cakephp,jquery-plugins,flowplayer,Cakephp,Jquery Plugins,Flowplayer,我将cakePHP评级插件与Flowplayer一起使用。我已经使用Javascript API定制了Flowplayer。现在我需要在定制的Flowplayer上显示rating元素。在我的其他观点中,我展示了评级元素,如下所示: echo $this->element('rating', array('plugin' => 'rating', 'model' => 'SongDetail', 'id' =>$song_id,

我将cakePHP评级插件与Flowplayer一起使用。我已经使用Javascript API定制了Flowplayer。现在我需要在定制的Flowplayer上显示rating元素。在我的其他观点中,我展示了评级元素,如下所示:

echo $this->element('rating', array('plugin' => 'rating',
        'model' => 'SongDetail',
        'id' =>$song_id,
        'name'=>'songRating',
        'config' => 'plugin_rating'
    ));

它工作得很好。现在在flowplayer的例子中,我正在使用AJAX和jQuery加载歌曲,因此song_id变量仅在Javascript中可用。我如何从Javascript函数调用相同的元素,以便使用innerHTML插入该元素。

执行一个特殊操作,以
song_id
作为参数调用。然后以以下方式结束该操作:

$this->layout = 'ajax';
$this->render('/elements/<elementname>');
$this->layout='ajax';
$this->render('/elements/');
这将使CakePHP呈现一个元素而不是视图。使用AJAX布局意味着只呈现元素(没有菜单和页脚等)


请参阅中的
$this->render
文档。

song\u id
作为参数进行调用。然后以以下方式结束该操作:

$this->layout = 'ajax';
$this->render('/elements/<elementname>');
$this->layout='ajax';
$this->render('/elements/');
这将使CakePHP呈现一个元素而不是视图。使用AJAX布局意味着只呈现元素(没有菜单和页脚等)


请参阅中的
$this->render
文档。

实际上,我尝试加载的元素包含以下代码“echo$this->requestAction('rating/ratings/view/'.$model.'/'.$id.'/'”。base64_编码(数组('name'=>$name,'config'=>$config)),数组('return');'所以我认为这已经在请求操作,并且正在呈现视图。但是,正如我理解你的问题,当加载新歌时,你一直想要加载一个新的评级元素。我理解错了吗?是的。实际上,我已经在控制器中创建了一个名为song Rating的函数,并以如下方式访问它:`$.ajax({type:'GET',url:'category_details/songRating',dataType:'html',success:function(response){//alert(response.toSource());});` 我的songRating在没有echo的问题中包含了这段代码,以及您用我的元素名给出的行。不工作我认为“我的songRating”是指视图文件?实际上我已经修复了它。我已经使用set()方法将值分配给元素,并且正在工作。现在它正在显示评级。但不知道为什么,我无法更改分级。实际上,我尝试加载的元素包含以下代码“echo$this->requestAction('rating/ratings/view/'。$model.'/'。$id./')。base64_encode(json_encode(array('name'=>$name,'config'=>$config)),array('return');'所以我认为这已经在请求操作,并且正在呈现视图。但是,正如我理解你的问题,当加载新歌时,你一直想要加载一个新的评级元素。我理解错了吗?是的。实际上,我已经在控制器中创建了一个名为song Rating的函数,并以如下方式访问它:`$.ajax({type:'GET',url:'category_details/songRating',dataType:'html',success:function(response){//alert(response.toSource());});` 我的songRating在没有echo的问题中包含了这段代码,以及您用我的元素名给出的行。不工作我认为“我的songRating”是指视图文件?实际上我已经修复了它。我已经使用set()方法将值分配给元素,并且正在工作。现在它正在显示评级。但不知道为什么,我无法改变评级。