AJAX发布JSOSN数据到空 - codeigniter

 帅到不行2502875781 发布于 2023-02-13 19:34

我发现了很多类似的问题,但没有人与我的问题有关,但是,这是我的AJAX请求

data = JSON.stringify(data);
url = base_url + "index.php/home/make_order";
//alert(url);

var request = $.ajax({
  url: url,
  type: 'POST',
  contentType: 'application/json',
  data: data
});
request.done(function(response){
  alert('success');
});
request.fail(function(jqXHR, textStatus, errorThrown){
  alert('FAILED! ERROR: ' + errorThrown);
});

我的问题是当它到达PHP CI控制器$ this-> input-> post('data')空时!

更新 这是我的数据:如AJAX请求之前所示:

data = {"sum":"2.250","info":[{"id":"6","name":"bla","price":"1.000"}]}

请帮忙.提前致谢.

1 个回答
  • 首先,我要感谢所有回复.实际上这是一些错误, 第一:正如@bipen所说,数据必须作为对象而不是字符串发送.当我尝试它时,它没有用,因为我没有把单引号放在数据周围

    $.ajax({
      url: url,
      type: 'POST',
      contentType: 'application/json',
      data: {'data': data}
    });
    

    第二:正如@foxmulder所说,contentType拼写错误,应该是ContentType, 所以正确的代码是:

    $.ajax({
      url: url,
      type: 'POST',
      ContentType: 'application/json',
      data: {'data': data}
    }).done(function(response){
      alert('success');
    }).fail(function(jqXHR, textStatus, errorThrown){
      alert('FAILED! ERROR: ' + errorThrown);
    });
    

    而且只是因为有人遇到PHP提取问题,这是怎么做的:

    $data = $this->input->post('data');
        $data = json_decode($data);
        $sum = $data->sum;
        $info_obj = $data->info;
        $item_qty = $info_obj[0]->quantity;
    

    2023-02-13 19:37 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有