【问题标题】:Jquery Ajax Post Error Undefined in Codeigniter在 Codeigniter 中未定义 Jquery Ajax 发布错误
【发布时间】:2012-06-28 19:28:19
【问题描述】:

我在选中复选框时实现了一个 jquery ajax 表单提交。我总是在响应数据中收到未定义的错误。请找到我的代码如下。

Jquery 帖子

  $.ajax({
   type: "POST",
   url: filelink+"playlist/add_cart_item",
   data: {"product_id":id,"quantity":qty,"ajax":1},
   success: function(msg){
   alert( "Data Saved: " + msg );
   },
   error: function(jqXHR, textStatus, errorThrown) 
   { 
    alert(textStatus + " " + errorThrown) 
   }
  });

控制器功能

   function add_cart_item(){
     echo "true";
   }

文件链接给了我确切的路径。 Jquery 库文件也正确包含。任何人都可以请帮助可能是哪里的问题。

我正在使用 HMVC Codeigniter。有没有其他方法可以在里面从ajax调用php文件??

此外,当我将类型从 POST 更改为 GET 时,它会返回我的 ECHO "TEST" .. 谢谢

【问题讨论】:

  • "product_id=id&quantity=qty&ajax='1'" 应该是"product_id=" + id + "&quantity=" + qty + "&ajax=1"
  • 如果您在浏览器中运行此链接,您会得到想要的答案吗?
  • 嗨@slash197 我用GET而不是POST尝试了这个,然后它没有给我未定义的错误,但我没有在味精警报中得到回显“测试”。

标签: php jquery ajax codeigniter


【解决方案1】:

几点。

  1. 在add_cart_item() 中尝试添加correct header for json data
  2. 尝试使用console.log 而不是alert 来调试javascript。
  3. 尝试使用 firebug 调试 http 请求/响应。

【讨论】:

  • Kinjal 感谢您的回复。我使用了萤火虫并试图得到响应。我发现它给出了 500 内部服务器错误。我认为回应有问题。我正在使用 HMVC codeigniter..
【解决方案2】:

你有一个不安全的 ajax 调用..我推荐这种方式

$.ajax({
   type: "POST",
   url: filelink+"playlist/add_cart_item",
   data: {"product_id":id,"quantity":qty,"ajax":1},
   success: function(msg){
        alert( "Data Saved: " + msg );
    },
   error: function(jqXHR, textStatus, errorThrown) 
   { 
   alert(textStatus + " " + errorThrown) 
   }
});

function add_cart_item(){

     echo $_POST['product_id'];
    exit;

   }

【讨论】:

  • 谢谢 Ubercooluk...去尝试同样会回复你。
  • @vikas sharma url: filelink+"playlist/add_cart_item",这是一个有效的位置吗??
  • 是的,我的意思是 playlist.php 是一个控制器,它的索引功能工作正常。但我在 add_cart_item 函数中的唯一代码就是我向您展示的。我是新手,我需要加载任何视图吗??
猜你喜欢
  • 2017-02-05
  • 1970-01-01
  • 2017-01-21
  • 2011-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-17
相关资源
最近更新 更多