我在jquery中发布数据有问题
这是我的代码:
$.ajax({
cache: false,
type: "POST",
url: '<?=base_url();?>cart/add_product1',
async: false,
data: {
job_id: item.job_id,
quantity: item.quantity,
price: item.price,
media_code: item.media_code,
product_id: item.layout_code,
product_name: item.product_name,
reedit_url: item.reedit_url,
thumb_url: item.thumb_url
},
success: function (response, textStatus, jqXHR) {
console.log('done!');
},
error: function (jqXHR, textStatus, errorThrown) {
console.log("The following error occured: " + textStatus, errorThrown);
}
})
我尝试了很多东西,比如添加缓存:flase,并为链接添加时间戳,但问题仍然是
代码在其他浏览器中运行良好
add_product1函数的代码是:
public function add_product1 ()
{
print_r($_POST);
}
但结果是:Array()
请帮助
谢谢
答案 0 :(得分:0)
你能试试吗
data: {
"job_id": item.job_id,
"quantity": item.quantity,
"price": item.price,
"media_code": item.media_code,
"product_id": item.layout_code,
"product_name": item.product_name,
"reedit_url": item.reedit_url,
"thumb_url": item.thumb_url
},
不确定这是否是问题,但可能是IE怪癖
答案 1 :(得分:0)
问题在于未定义变量项。 在IE中应该在变量之前添加var,但其他浏览器忽略这一点。 我的代码是这样的:
item = data.item[0];
$.ajax({
cache: false,
type: "POST",
url: '<?=base_url();?>cart/add_product1',
async: false,
data: {
job_id: item.job_id,
quantity: item.quantity,
price: item.price,
media_code: item.media_code,
product_id: item.layout_code,
product_name: item.product_name,
reedit_url: item.reedit_url,
thumb_url: item.thumb_url
},
success: function (response, textStatus, jqXHR) {
console.log('done!');
},
error: function (jqXHR, textStatus, errorThrown) {
console.log("The following error occured: " + textStatus, errorThrown);
}
})
我把它更改为:
var item = data.item[0];
$.ajax({
cache: false,
type: "POST",
url: '<?=base_url();?>cart/add_product1',
async: false,
data: {
job_id: item.job_id,
quantity: item.quantity,
price: item.price,
media_code: item.media_code,
product_id: item.layout_code,
product_name: item.product_name,
reedit_url: item.reedit_url,
thumb_url: item.thumb_url
},
success: function (response, textStatus, jqXHR) {
console.log('done!');
},
error: function (jqXHR, textStatus, errorThrown) {
console.log("The following error occured: " + textStatus, errorThrown);
}
})