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

前端之家收集整理的这篇文章主要介绍了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;

猜你在找的jQuery相关文章