2013-12-19 90 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/'