2013-12-19 34 views
0

我正在使用codeigniter,我把帖子後端編碼放在models/add_subscriber.php 中,但代碼沒有被擊中。任何想法?Ajax帖子未被擊中

form.onsubmit = function(event) { 
      validate(); 
      if (!isValid) { 
       revalidateOnChange(); 
       return false; 
      } 
      var email = $("#signup_email").val(); 
      dataString = 'email=' + email; 
      $.ajax(
        { 
         type: "POST", 
         url: '<?php echo base_url()?>models/add_subscriber.php', 
         data: dataString, 
         success: function(response) { 
          alert(response); 
         }, 
         error: function(xhr, textStatus, error) { 

         } 
        }); 
       return; 

     }; 
+0

您需要調用_controller_,而不是模型。它是根據服務器請求實例化的控制器,然後他們又調用模型 –

+0

ok.i嘗試過控制器,它也沒有被打到。 url:'<?php echo base_url()?> controllers/home/add', – user1688346

+1

控制器的URL是'<?php echo base_url(); ?> home/add;'不是你指定的那個。 –

回答

1

嘗試通過一步都有弄清楚一步,

  1. 您的要求在Firebug或Chrome開發者工具的工作檢查網板可以是JavaScript錯誤。
  2. 直接點擊url查看url是javascript的有效視圖源,並複製ajax url並將其粘貼到地址欄並查看您的url是否有效。
  3. 如果URL是確定和Ajax是否工作正常,響應比檢查你的控制器不是404,htaccess的等

建議如果要資源的URL訪問

(如as css,js,image),使用base_url(),否則,site_url()比較好。 source

1

創建的「控制器」文件夾中的控制器...... 創建一個文件是這樣的:

class your_controller extends CI_Controller { 
    function example_function(){ 
     // PUT HERE YOU CODE that is in the models.addsubscriber.php 
    } 
} 

在代碼中的JS腳本,把這個網址:

url: '<?php echo base_url()?>your_controller/example_function/'