我有这个:
var testArray = [];
testArray["First"] = "First Test Data";
testArray["Second"] = "Second Test Data";
$.toJSON(testArray);
然后我将它传回服务器端。当我在处理AJAX请求时查看对象服务器端时,我所拥有的只是“[]”。
有没有办法做到这一点或类似的东西,以实现查找从客户端传回的数据的能力?
答案 0 :(得分:5)
您必须testArray
object:
var testArray = {};
使用数组的方式不正确。数组只应具有带数字索引的值。否则,您只需向数组对象添加一个属性,转换为JSON时将忽略这些属性。
答案 1 :(得分:4)
您正在创建一个数组,但之后您将其用作对象。改为创建一个对象,它将被正确处理:
var testObject = {};
testObject["First"] = "First Test Data";
testObject["Second"] = "Second Test Data";
$.toJSON(testObject);
或简单地说:
var testObject = {
First: "First Test Data",
Second: "Second Test Data"
};
$.toJSON(testObject);
如果你真的想要一个数组,那么你可以使用数字来访问这些项目,而不是字符串:
var testArray = [];
testArray[0] = "First Test Data";
testArray[1] = "Second Test Data";
$.toJSON(testArray);
或简单地说:
var testArray = ["First Test Data", "Second Test Data"];
$.toJSON(testArray);