簡體   English   中英

CodeIgniter,PHP,jQuery和AJAX

[英]CodeIgniter, PHP, jQuery and AJAX

我想知道人們如何使用CodeIgniter和jQuery for AJAX。

在您的AJAX請求中

{
  url : ???,
  data : {a:1,b:2},
  success: ....
}

那么,你如何構建URL?

你呢

  • 在視圖文件中包含所有JavaScript,並使用site_url()來構建URL
  • 擁有外部js文件中的所有JavaScript,有一個包含的標題視圖,其中包含<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM