ajax jquery不在IE中发布

时间:2014-05-23 15:13:04

标签: jquery ajax post

我在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()

请帮助

谢谢

2 个答案:

答案 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);
}

})