如何通过ajax从视图向codeigniter上的控制器发送数据?

时间:2018-03-23 21:43:18

标签: php codeigniter

我试图将数据从视图发送到控制器,但没有任何工作“ajax返回错误”我尝试所有方式,我在其他类似的问题中看到 我的观点:

var pdata ={
    "latitude": lat,
    "longitude": log
};
latlog = "/"+1;
$.ajax({
    url: "<?php echo base_url(); ?>index.php/users/search"+CityINP+distINPx+CategoryINP+textINP+latlog,
    type: "POST",
    data: pdata,
    dataType: "JSON",
    success: function (data) {
        // if success reload ajax table
         alert("success");
        // reload_table();
    },
    error: function (jqXHR, textStatus, errorThrown) {
        alert('Error adding / update data');
    }
});

我的控制员:

public function search($city=null,$dist=null,$cate=null,$text=null,$latlon=null)
{
}

2 个答案:

答案 0 :(得分:1)

首先,我建议你在标题部分创建一个js变量,如下所示

<script type="text/javascript">
        var BASE_URL = "<?php echo base_url(); ?>";
</script>

通过这种方式,您不必每次都在URL中编写echo baseurl。

$.ajax({
    type: 'POST',
    url: BASE_URL + "controllerName/search",
    data: {'CityINP': distINPx,'CategoryINP':latlog },
    success: function (data) {
    data = JSON.parse(data);
    if(data.response == "response")
    {
        //do anything you want from the response you get
    }
 }
});

要获取控制器功能中的参数,您可以通过以下代码获取它

$this->input->post('CityINP');
$this->input->post('CategoryINP');

答案 1 :(得分:0)

更改您的网址  url:“index.php / users / search”+ CityINP + distINPx + CategoryINP + textINP + latlog,

到url:“index.php / users / search /”+ CityINP + distINPx + CategoryINP + textINP + latlog,

“/”搜索功能名称后,在您的网址中,所有变量都与搜索功能名称连接。