2011-07-07 40 views
1

在我的PHP/jQuery的应用程序,我有一个JavaScript文件,在其中我可以调用外部PHP文件(post_data.php)是这样的:将Ajax数据发布到控制器功能?

$.ajax({ 
      type: "POST", 
      data: "some data", 
      url: "post_data.php", 

现在,而不是调用PHP文件,我想调用CodeIgniter控制器函数Data/post_data,那么如何调用该函数而不是post_data.php

JavaScript文件中,我想打电话给位于:

root/js/test.js 

在功能位于:

root/application/controllers/data/post_data 
+0

在这个被JS运行的是什么文件? – Neal

回答

3

阿贾克斯需要有一个完整的URL:

$.ajax({ 
     type: "POST", 
     data: "some data", 
     url: "http://www.yourdomain.com/urpath/post_data"}); 

原因是调用Ajax的Javascript文件不知道.php文件的服务器位置乐。所以,通过使用绝对路径,您可以确保您的呼叫完成。另外,要在使用Javascript文件之前对其进行测试,请将该网址复制并粘贴到浏览器中。如果没有404错误显示,比你有好的路径。

0

为了增加Doaks响应,你也可以做这样的

$.ajax({ 
    url: "<?php echo site_url('data/post_data'); ?>", 
    type: "POST", 
    data: data, 
0

您可以使用.post的$()jQuery函数它更简单和POST请求进行了优化。同样对于路由,您可以设置控制器和方法。足够了。

$.post("admin/newphone", { 
     phone: $('input[name="phone"]').val() 
}, 

,并链接到JQuery的文档http://docs.jquery.com/Post

相关问题