首先,你應該總是嘗試創建規範化的網址。
但我認爲你的疑問在於生成/追加的#
。如果你去檢查警予ajaxLink的來源,你會看到:
public static function ajaxLink($text,$url,$ajaxOptions=array(),$htmlOptions=array())
{
if(!isset($htmlOptions['href']))
$htmlOptions['href']='#';
$ajaxOptions['url']=$url;
$htmlOptions['ajax']=$ajaxOptions;
self::clientChange('click',$htmlOptions);
return self::tag('a',$htmlOptions,$text);
}
,所以如果你不設置htmloptions
陣列中的a
標籤的href
屬性,則#
將被追加。
你也應該明白yii使用jquery,所以如果你查看頁面的源代碼,你會在底部看到如何使用jquery來執行ajax請求,你調用的實際url也會在該腳本中可以看到。所以ajaxLink
中的第三個選項/參數是jquery的ajax
函數的選項。您可以使用此選項創建更好的ajax鏈接。
無論您的網址指向您的項目的哪個控制器(哪個控制器),與該網址關聯的操作都會被調用。
echo CHtml::ajaxLink('GO', 'http://localhost/index.php?r=user/delete',
array('type'=>POST), //there are various other options for jquery ajax
array('href'=>'http://localhost/index.php?r=user/delete'));
爲了做出更好的AJAX鏈接,我建議通過jQuery的AJAX文檔去:
所以無論如何,你可以,如果你想顯示的URL,而不是一個#
修改這樣的代碼。有一個success
函數的選項,您可以使用它來讓用戶知道操作已完成。
希望這會有所幫助,如果我沒有完全回答你的問題,請不要猶豫留下意見。