我正在编写一个Yii应用程序(或者我应该说建立在别人的Yii应用程序之上!)。我需要使用相当多的JavaScript,因为我使用的是Leaflet地图库。所以很多这是外部的PHP代码和registerScriptFile
,registerScript
将变量从javascript传递给yii通过ajax
要调用的数据从主要Yii应用程序的JavaScript,我一直在使用AJAX调用。
$.ajax({
type: "POST",
url: "xxx/index.php/site/updateajax",
data: {recordID: feature.properties.id}
}).success(function(result){
$("#recordTable").replaceWith(result);
});
和
public function actionUpdateAjax()
{
$data = $_POST['recordID'];
$this->renderPartial('/map/_legend_layers', array('data' => $data),false,false);
}
在php
。我发现我需要调用$("#element").replaceWith(result);
,因为否则渲染会返回但不会呈现。
在这种情况下,这工作正常,因为我可以调用replaceWith,但我有一个唠叨的感觉,这不是正确的方式来做到这一点,也有另一个AJAX调用呈现整个页面,所以我不能真的取代了。
我的问题是如何强制这些AJAX调用返回的HTML来呈现页面,或者更可能我想,我怎样才能使用AJAX来更新变量,返回成功代码或什么的,然后让yii代码继续并做它的事情 - 我只使用AJAX作为变量传递机制。
谢谢
谢谢,根据你的回答添加了对我有用的答案 –