我似乎在格式化我的ajax方法提供的数组字符串时出现问题。我一直试图直接在userCoor中输入数据值,但它只是应该是一个数组(请参考图片)
有人可以告诉我,我想如何格式化为图片中提供的数组
所以数据返回一个数组而不是一个维数组,所以我想如何改变成一个维数组
由于
示例代码
$.ajax({
url: "#",
type: "POST",
dataType: "json",
success: function(data, textStatus, jqXHR) {
var userCoor = [
['300 Tanglin Halt Road, Singapore 148812', 1.3000, 103.8000],
['Temasek Poly, Singapore', 1.346753, 103.932577],
['Temasek Poly, Singapore', 1.346368, 103.932175]
];
console.log(userCoor);
console.log(data);
}
})
更新
我现在已经将dataType更改为text并返回,如下所示现在是如何将此文本转换为数组
来自源的原始数据
['300 Tanglin Halt Road, Singapore 148812',1.3000,103.8000],['Temasek Poly, Singapore',1.346753,103.932577],['Temasek Poly, Singapore',1.346368,103.932175]
我面临的问题是我在userCoor中硬编码但是我在ajax方法中检索它并不是userCoor [data]它会给出单行数组而不是3维数组
以下是假设Two same String but second link not known to be an array
的示例答案 0 :(得分:0)
**使用eval被认为是邪恶的做法.. **
如果你得到图片的字符串:“[bla bla bla],[bla bla bla]”..
您只需要执行以下操作将其转换为维度数组:
var data = "['300 Tanglin Halt Road, Singapore 148812', 1.3000, 103.8000], ['Temasek Poly, Singapore', 1.346753, 103.932577], ['Temasek Poly, Singapore', 1.346368, 103.932175]";
var result = eval('(['+ data +'])');
console.log(result);
这对你有用吗? 我只是想知道你为什么从服务器收到这个字符串?也许如果你需要一个数组,你应该改变你的服务器方法..