我正在編寫一個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作爲變量傳遞機制。
謝謝
謝謝,根據你的回答添加了對我有用的答案 –