【问题标题】:While sending json data in ajax gives an error like Unexpected token :在 ajax 中发送 json 数据时会出现类似 Unexpected token 的错误:
【发布时间】:2016-08-05 21:32:37
【问题描述】:

我正在使用 codeigniter 中的 facebook 应用程序创建登录。所以,我想使用 ajax 将 json 数据传递到我的控制器中。

我的代码是这样的:

var data = JSON.stringify(response);
   alert(data);
   $.ajax(function(){
     type:"post",
     //contentType: 'application/json',
     //dataType: 'json',
     url:"<?php echo base_url().'login/insert_fb' ?>",
     data:{email:email,id:id}
   }).done(function(data){
        alert(data);
   });

在这里,在我的登录控制器中,我编写了这样的代码:

function insert_fb()
{       
    $data = json_decode($this->input->post($response));
    print_r($data);
}

在这里,在数据变量中,我得到了所有 json 记录。但是当我调用 ajax 函数时,它会给出一个错误,例如 Unexpected token :

那么,我该如何解决这个问题呢?

注意:如果我删除方法和数据类型和内容类型,那么它会在 url 处给出类似 Unexpected token : 的错误。

【问题讨论】:

  • 你需要使用'type'而不是'method'来设置请求动词。
  • 可能你的PHP代码有错误,请在浏览器上打开控制台,点击错误行。您会看到确切的错误。
  • 并且ajax调用需要一个js对象,而不是回调函数。
  • @Nisarg 您将 ajax 发送到服务器端,浏览器期望正确的 json 作为答案。检查一下。
  • @Nisarg 请获取完整的代码 JS 和 PHP。并在网络中的浏览器开发工具中找到您的 ajax 请求并查看服务器响应。是正确的 json 吗?

标签: php jquery json ajax codeigniter


【解决方案1】:

您必须从您的 ajax 中删除 function()

var data = JSON.stringify(response);
   alert(data);
   $.ajax({
     type:"post",
     //contentType: 'application/json',
     //dataType: 'json',
     url:"<?php echo base_url().'login/insert_fb' ?>",
     data:{email:email,id:id}
   }).done(function(data){
        alert(data);
   });

【讨论】:

  • 我刚刚删除了 ajax 形式的函数及其工作。
猜你喜欢
  • 1970-01-01
  • 2014-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-25
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
相关资源
最近更新 更多