背景
我有一个 javascript 代码,它将三个值动态传递到 JSON 中进行处理......在与同事讨论了我之前遇到的问题之后,他提出将多个变量传递到 JSON 的最佳方法是将它们定义为数组javascript,然后将对象直接传递到 ajax/JSON 中。但是,经过一些试错编码后,JSON 处理器似乎没有正确运行该方法。我的问题如下,在以下两个示例中,它们在功能上是否相同,如果是,那么为什么语法会失败。
工作代码
/* New Syntax: */
var data_id = $(this).data('id');
var data_action = "get";
var column_toact_on = $(this).data('column');
$.ajax({
url: 'xyz.php',
type: 'POST',
data: {id : data_id, action: data_action, column: column},
dataType: 'json',
success: function(data){
alert("Information Passed Correctly");},
error: function(jqXHR, textStatus, errorThrown){
alert(textStatus);}
});
不工作的代码
/* old Syntax: */
var dataObj = {};
dataObj["id"] = $(this).data('id');
dataObject["column"] = $(this).data('column');
dataObj["action"] = "get"; // "get" or "set"
$.ajax({
url: 'xyz.php',
type: 'POST',
data: dataObj,
dataType: 'json',
success: function(data){
alert("Information Passed Correctly");},
error: function(jqXHR, textStatus, errorThrown){
alert(textStatus);}
});