jQuery AJAX 调用 PHP 控制器

Posted

技术标签:

【中文标题】jQuery AJAX 调用 PHP 控制器【英文标题】:jQuery AJAX call to PHP Controller 【发布时间】:2012-11-04 14:15:27 【问题描述】:

我正在通过 jQuery 调用控制器(Codeigniter)。我的 dataString 变量包含一个简单的字符串,我试图将它传递给我的控制器,所以我可以将它传递给模型。但是,我收到一个错误,表明我的 $test_var 未定义。我做错了什么?

$('a.test').click(function (event) 


    dataString = $(this).attr('name'); 
        $.ajax(
        type:"POST",
        url:"<?php echo base_url(); ?>controller_name/",
        data:dataString,
        success:function (data) 
        alert('test');
        

    );
    event.preventDefault();
);

控制器


$test_var= $this->input->post('dataString');

【问题讨论】:

【参考方案1】:

尝试使用名称=值对:

$('a.test').click(function (event) 


    dataString = $(this).attr('name'); 
        $.ajax(
        type:"POST",
        url:"<?php echo base_url(); ?>controller_name/",
        data:'dataString='+dataString,
        success:function (data) 
        alert('test');
        

    );
    event.preventDefault();
);

【讨论】:

【参考方案2】:

你也可以这样做,这是另一种语法

$('a.test').click(function (event) 
    dataString = $(this).attr('name'); 
    $.ajax(
        type:"POST",
        url:"<?php echo base_url(); ?>controller_name/",
        data:'dataString':dataString,
        success:function (data) 
        alert('test');
        
    );
    event.preventDefault();
);

在你的控制器$test_var= $this-&gt;input-&gt;post('dataString');

或者就像在原版 php 中一样

$test_var = $_POST['dataString'];

【讨论】:

【参考方案3】:

像这样使用数据选项 数据:名称:“约翰”,位置:“波士顿” 更多详情请查看http://api.jquery.com/jQuery.ajax/

【讨论】:

以上是关于jQuery AJAX 调用 PHP 控制器的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - 如何通过 AJAX (jQuery) 调用控制器函数

jquery Ajax 调用 Codeigniter 控制器

Jquery Ajax 调用 + Spring boot 控制器 = 日期修改

从通过 jQuery AJAX 调用的控制器返回 PDF

Ajax jQuery 调用上的 415 错误 - Spring MVC 控制器

jquery Ajax 调用 - 数据参数未传递给 MVC 控制器操作