首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CodeIgniter中的AJAX调用不像预期的那样工作

CodeIgniter中的AJAX调用不像预期的那样工作
EN

Stack Overflow用户
提问于 2015-05-22 16:53:14
回答 2查看 631关注 0票数 0

我有一个来自javascript文件的ajax调用,试图将数据发送到控制器中的特定函数。当我在调用的成功函数中查看数据时,我得到一个完全无关的视图的html作为返回的数据,我不知道为什么。

我的AJAX调用:

代码语言:javascript
运行
复制
function processResults(task_id){
  var finalResults = localStorage.getItem('results');
  console.log(finalResults);

  $.ajax({
    type: 'POST',
    url: 'task/getResults',
    data: {'answers': finalResults},
    success: function(data){
      console.log(data);
    }
 });
} 

我的控制器功能:

代码语言:javascript
运行
复制
public function getResults(){

  $this->load->model('testResults');

  $finalResults = $this->input->post('answers');

  $finalResults = json_decode($finalResults, true);

  if ($taskTestId != '') {
    $this->testAnswers->insertTaskData($finalResults);
  }
}

ajax调用中的url是否不正确?我不太清楚它为什么输出一个完全无关的视图的html。任何帮助都将不胜感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-22 19:02:13

在AJAX中传递的最后一行controller/method应该是某些东西的回声。最后,你会得到这样的东西:

代码语言:javascript
运行
复制
if ($expression) {
    echo json_encode($something);
} else {
    echo json_encode($something_else);
}
票数 1
EN

Stack Overflow用户

发布于 2015-05-23 01:17:06

Tpojka的回答会有效的。

但是有一种更优雅的方法可以在CI中返回JSON对象

代码语言:javascript
运行
复制
$this->output
        ->set_content_type('application/json')
        ->set_output(json_encode(array('foo' => 'bar')));

type

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30402059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档