这是我的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"}]}
5条答案
按热度按时间nfzehxib1#
首先,我想感谢所有的回复。实际上,这是一对夫妇的错误,第一:正如@bipen所说,数据必须作为对象而不是字符串发送。当我尝试它时,它不起作用,因为我没有在data周围加上单引号
第二个:如@foxmulder所述,contentType拼写错误,应为ContentType,因此正确代码为:
仅供参考,以防有人在PHP获取方面遇到问题,以下是如何做到这一点:
wvyml7n52#
发送你的数据作为对象而不是字符串..(不确定你已经这样做了,除非我们看到你的数据的值..如果没有,然后尝试它)
更新如果截至备注日期,您的数据
那么
data:data
就可以了bt你需要改变你的codeigniter代码
qaxu7uf23#
内容类型应大写(ContentType)
参见this question
yjghlzjz4#
我已经扩展了CI_Input类以允许使用json。
把这个放在application/core/MY_input.php中,您就可以像往常一样使用**$this-〉input-〉post()**。
如果您使用的是PHP5.x。请将
与
r9f1avp55#
我不熟悉CodeIgniter,但我认为您可以尝试使用全局变量
$_POST
:如果var_dump显示数据,可能是
$this->input...
有问题