将数据从Ajax传递给codeigniter 3

将数据从Ajax传递给codeigniter 3

问题描述:

我在这里看到一些帖子,并试图将数据从api调用传递给codeigniter 3上的控制器,我需要这些数据在根页面上,所以我不知道该怎么做!将数据从Ajax传递给codeigniter 3

$.ajax({ 
    url: ' URL ', 
    dataType: 'json', 
    type: 'post', 
    contentType: 'application/json', 
    data: JSON.stringify({ 
     "var1": "var1", 
     "var2": "var2", 
     "var3": "var3", 
     "var4": "var4" 
    }), 
    processData: false, 
    success: function(data){ 
     $.ajax({ 
      url: window.location.href, <--- this is ok for root page? the controller is App.php and the function its Index()... 
      dataType: 'json', 
      type: 'post', 
      contentType: 'application/json', 
      data: {"data":data}, 
      processData: false, 
      success: function(data){ 
       console.log('pass'); 
      } 
     }); 
    }, 
    error: function(jqXhr, textStatus, errorThrown){ 
     console.log(errorThrown); 
    } 
}); 

然后在我控制器

$data['data'] = $this->input->post('data'); 
$this->load->view('app', $data); 

,并在视图

<?=$data?> 

,但没有,它不打印任何东西,犯规在控制台登录任何

+0

先json对数据进行编码然后回应响应。 – NomanJaved

+0

检查内部ajax请求中的错误 –

+0

@ShoyebSheikh ajax错误说:“SyntaxError:意外的令牌 Gil

冷杉全部将所有数据转换为数组,然后使用$data = json_encode($array); 。 要以json格式呈现数据,您必须在$ this-> output对象中发送内容类型。

$this->output 
    ->set_content_type('application/json') 
    ->set_output(json_encode(array('foo' => 'bar')); 

现在控制器中的方法将开始呈现您的json数据。

+0

好生病尝试它,但我有以下问题试图传递数据到控制器,在console.log打印此--- ---> SyntaxError:意外的标记 Gil