Php 将Ajax数据发布到控制器函数?

Php 将Ajax数据发布到控制器函数?,php,codeigniter,jquery,Php,Codeigniter,Jquery,在我的PHP/jQuery应用程序中,我有一个javascript文件,可以在其中调用外部PHP文件(post_data.PHP),如下所示: $.ajax({ type: "POST", data: "some data", url: "post_data.php", 现在,我不想调用php文件,而是想调用CodeIgniter控件函数Data/post_Data,那么如何调用该函数而不是post_Data.php 我想

在我的PHP/jQuery应用程序中,我有一个javascript文件,可以在其中调用外部PHP文件(post_data.PHP),如下所示:

$.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

ajax需要有一个完整的url:

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

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

要添加到Doaks响应,您也可以这样做

$.ajax({
    url: "<?php echo site_url('data/post_data'); ?>",
    type: "POST",
    data: data,
$.ajax({
url:“”,
类型:“POST”,
数据:数据,
您可以使用$.post()JQuery函数。它更简单,并且针对post请求进行了优化。此外,对于路由,您可以只设置控制器和方法。这很好

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

并链接到JQuery文档

,这个js运行在哪个文件中?