当前位置: 首页 > 面试题库 >

带有JSON的jQuery和CodeIgniter AJAX无法正常工作

轩辕弘雅
2023-03-14
问题内容

我试图使用jQuery和CodeIgniter使用JSON进行我的第一个AJAX调用。但是出于某些奇怪的原因,它不起作用。

jQuery代码:

var item = "COOL!";
$.post("http://192.168.8.138/index.php/main/test", { "item" : item },
         function(data){
            alert(data.result);
         }, "json");

CodeIgniter代码:

<?php
class main extends Controller {
   function test() {
      $item = trim($this->input->post('item'));
      $array = array('result' => $item);
      echo json_encode($array);
   }
}
?>

我尝试http://192.168.8.138/index.php/main/test手动访问该页面,但似乎可以正常工作,我得到了:{"result":""}

我还尝试使用Firebug进行查看,XMLHttpRequest但什么也没看到。

我不知道我在做什么错…真的很需要帮助。谢谢。


问题答案:

您可能需要设置HTTP内容类型才能application/json使其正常工作:

<?php
class main extends Controller {
   function test() {
      $item = trim($this->input->post('item'));
      $array = array('result' => $item);
      header('Content-Type: application/json',true);
      echo json_encode($array);
   }
}
?>)


 类似资料:
  • 问题内容: 我正在尝试使用node-imagemagick库调整图像的大小,但无法正常工作。 我用来调整大小的代码是 引发错误 问题答案: 在Windows上,您还需要安装imagemagick exe。nodejs imagemagick库只是imagemagick exe的包装器。因此,只有安装了imagemagick exe并转换并标识可执行文件在路径中后,它才能起作用。

  • 问题内容: 我在linux ubuntu 17.10上运行代码 此代码返回“无限” 但是每当我从终端运行命令时,我都会得到1024。 为什么这些数字不同? 问题答案: 如果从命令行运行相同的命令,则会得到相同的结果: 这是因为仅查看紧随其后的参数。的不是此参数的一部分,并且被代替而不是分配作为位置参数()。 要运行,需要成为该参数的一部分: 换句话说,您应该使用:

  • 问题内容: 如果您单击此处的单击此处订购按钮:http: //www.game onglove.com/ gog / test3.html,然后在弹出的灯箱窗口中单击相同的按钮,则将使用$运行ajax请求.post()。 您可以点击“继续购物”以返回到上一个灯箱式窗口,以快速重新开始。 如果我在控制台(chrome或firefox)中在此处执行jquery代码,则它可以正常工作。它只是无法从源代码

  • 问题内容: 我正在尝试一个代码 这按预期工作。但是,当我将其编写为: 它只是警告“开始”并终止。可以在http://jsfiddle.net/XQFyq/2/找到一个工作示例。我究竟做错了什么? 问题答案: 不是递归对象,因此它没有方法。 是 一个延迟对象,因此在您调用时为何起作用。 您的调用 是 一个延迟对象,因此,如果您将该方法作为方法的一部分返回,则可以添加回调 ( 请参见此处的示例 ),一

  • 问题内容: 我做了一个test.html文档来测试脚本。不知何故它不起作用,我不明白为什么什么也没发生。该脚本位于-tags中,并带有-tag,而css也具有- tags。为什么不起作用?这是代码 问题答案: 由于用于绑定事件处理程序的代码是在元素存在于中之前执行的,因此事件未绑定到元素上。 要解决此问题,您可以 将您的代码包装在回调中,以便在加载完成后执行您的代码 将您的脚本移动到的末尾,以便所

  • 问题内容: 我正试图将网页嵌入iframe中,但它根本不起作用。具有相对路径的内部页面正常显示。但是这个简单的代码不起作用: 应该显示iframe的地方是空的。我在页面源代码中查找,之后没有任何内容 怎么会这样? 问题答案: Google使用X-FRAME-OPTIONSHTTP标头禁止将其页面放置在iframe中:: //developer.mozilla.org/en/The_X-FRAME-