【问题标题】:jQuery AJAX call to PHP ControllerjQuery AJAX 调用 PHP 控制器
【发布时间】: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');

【问题讨论】:

    标签: php jquery html ajax codeigniter


    【解决方案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/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-01-17
          • 1970-01-01
          • 1970-01-01
          • 2015-05-17
          • 2010-11-26
          • 2018-02-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多