[英]CodeIgniter, PHP, jQuery and AJAX
我想知道人們如何使用CodeIgniter和jQuery for AJAX。
在您的AJAX請求中
{
url : ???,
data : {a:1,b:2},
success: ....
}
那么,你如何構建URL?
你呢
site_url()
來構建URL <script>var base_url = '<?php echo site_url(); ?>';</script>
<script>var base_url = '<?php echo site_url(); ?>';</script>
。 然后在你的外部js文件中有url: base_url+'rest/of/path/';
我將我的所有js放在外部文件中並將其加載到我的模板中。
對於特定的ajax請求,只需像往常一樣調用頁面即可。
$.ajax({
type: 'POST',
url: '/ajax/login',
data: blabla,
success: function(data) {
// do something
},
dataType: 'json');
});
在回答你的問題時,我沒有必要指定基本URL,因為在控制器名稱之前放置'/'會自動設置站點的根目錄。 你也可以使用../等
如果您在外部文件中編寫ajax,則可以在視圖文件中定義基本URL
<script>
var base_url = '<?php echo base_url(); ?>';
</script>
然后在你的外部ajax文件上寫
url : base_url+'controllerName/functionName',
它也可以通過加載包含JavaScript的視圖來完成。
我目前從渲染頁面末尾的視圖加載JavaScript。 由於它是一個包含html <script>
的PHP文件,因此您可以使用URL輔助函數(如site_url()
生成每個函數所需的URL。
示例視圖可能包含:
<script>
$.ajax{
url : "<?=site_url("controller/function")?>",
data : {a:1,b:2},
}
</script>
這將為您獲得CodeIgniter為您的JavaScript生成的URL。 您甚至可以將變量傳遞到視圖中,以便更好地控制您的js。
通常我在我的標題中創建一個小javascript,在其中我創建了一個base_url和site_url變量(通常是我命名為CI的對象的屬性,但這是個人的首選項)。 我通過用PHP回顯值來填充這些值。 如果你把它作為第一個加載的腳本,你將始終在JS中提供site_url。
由於我在移動設備上,我現在無法發布消息來源。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.