微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – AJAX发布JSOSN数据到空 – codeigniter

我发现了很多类似的问题,但没有人与我的问题有关,但是,这是我的 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’)到达空!!

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

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

请帮忙.提前致谢.

解决方法

首先,我要感谢所有回复.
实际上这是几个错误,
第一:正如@bipen所说,数据必须作为对象而不是字符串发送.当我尝试它时,它没有用,因为我没有把单引号放在数据周围
$.ajax({
  url: url,data: {'data': data}
});

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

$.ajax({
  url: url,ContentType: 'application/json',data: {'data': data}
}).done(function(response){
  alert('success');
}).fail(function(jqXHR,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;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐