我发现了很多类似的问题,但是没有人与我的问题相关,但是,这是我的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 Controller $ this-> input-> post('data')时到达空!
更新
这是我的数据:如AJAX请求之前所示:
请帮忙。提前致谢。
最佳答案
首先,我要感谢所有回复。
实际上这是两个错误,
首先:正如@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;
关于jquery - AJAX发布JSON数据为空-Codeigniter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20285010/