我有这段代码:
$('.gBook').click(function(){
var values = [];
var getDiff = $('#totalPrice').attr("data-value");
var i = 0;
$('td[data-check="true"]').each(function(){
var valueToPush = { };
valueToPush["price"] = $(this).attr("data-price");
valueToPush["id"] = $(this).attr("data-id");
valueToPush["diff"] = getDiff;
values.push(valueToPush);
i++;
});
var arrayToSend = {values};
$.post( '<?php echo PATH;?>ajax/updateRoom.php',arrayToSend, function(data){
if(data != "ERROR"){
$('#all-content').html(data).css("overflow-y","auto");
}else{
alert("ERROR");
}
});
});
在Chrome中,此行显示错误var arrayToSend = {values};
(未捕获的SyntaxError:意外的令牌})在Firefox中,一切都很好。
我想这是因为FF的“松散”错误处理,但我怎么做得对呢?
我试图在$ .each之前用var arrayToSend = new Object();
初始化对象,但是在POST之后它会给出一个空数组。
我的错误在哪里?
答案 0 :(得分:1)
试试这个
var arrayToSend = {optionsChosen:values};
然后在php或用于数据处理的任何内容中查找POST变量optionsChosen。
你所做的是尝试使用参数array = nothing
创建一个Object您基本上是在代码中执行此操作。本专家没有看到这个陈述的错误。
arrayToSend = new function() {
this.(new Array(1,2,3)); // This is cringeworthy if you see it like this.
}
在我给它的例子中,它转换为:
arrayToSend = new function() {
this.optionsChosen = new Array(1,2,3);
}