Javascript 使用数组形式的字符串初始化数组

Javascript 使用数组形式的字符串初始化数组,javascript,ajax,arrays,Javascript,Ajax,Arrays,我有一个字符串,它来自ajax结果: ["name1", "name2", "name3", "name4", "name5"] 字符串模式与上面完全相同,包括“,并且total元素不是固定的 我尝试了以下代码,但不起作用: var strArr=""; $.ajax({url:"myurl",success:function(result){ strArr=result; }}); var arr = new Array(strArr); 更新:这是我的最新代码 var strA

我有一个字符串,它来自ajax结果:

["name1", "name2", "name3", "name4", "name5"]
字符串模式与上面完全相同,包括
,并且total元素不是固定的

我尝试了以下代码,但不起作用:

var strArr="";
$.ajax({url:"myurl",success:function(result){
     strArr=result;
}});
var arr = new Array(strArr);
更新:这是我的最新代码

var strArr="";
$.ajax({url:"myurl",success:function(result){
    strArr=result;
    alert(strArr); //["name1", "name2", "name3", "name4", "name5"]
}});
var arr= JSON.parse(strArr);

要将该字符串转换为实际数组,只需执行
JSON.parse
,如下所示

var data = '["name1", "name2", "name3", "name4", "name5"]';
console.log(JSON.parse(data));
# [ 'name1', 'name2', 'name3', 'name4', 'name5' ]
console.log(Object.prototype.toString.call(JSON.parse(data)));
# [object Array]
$.ajax({
    url: "myurl",
    success: function(result) {
        alert(JSON.parse(result));
    }
});
您可以确认返回的对象的类型,如下所示

var data = '["name1", "name2", "name3", "name4", "name5"]';
console.log(JSON.parse(data));
# [ 'name1', 'name2', 'name3', 'name4', 'name5' ]
console.log(Object.prototype.toString.call(JSON.parse(data)));
# [object Array]
$.ajax({
    url: "myurl",
    success: function(result) {
        alert(JSON.parse(result));
    }
});
您的实际代码应该如下所示

var data = '["name1", "name2", "name3", "name4", "name5"]';
console.log(JSON.parse(data));
# [ 'name1', 'name2', 'name3', 'name4', 'name5' ]
console.log(Object.prototype.toString.call(JSON.parse(data)));
# [object Array]
$.ajax({
    url: "myurl",
    success: function(result) {
        alert(JSON.parse(result));
    }
});

dataType
选项设置为
json
,然后jQuery将自动为您解析它。这在控制台上似乎有效,但如何在我上面的代码中应用它呢?对不起,我对javascript非常陌生things@DnR
success:function(result){var array=JSON.parse(result);}
我需要在我的页面中包含任何文件吗?看起来像是
JSON。parse
不需要recognized@DnR是ECMA脚本规范的一部分,因此无需包含任何内容:-)@DnR您可以,但该值将以异步方式填充。因此最后一行将不是程序中实际执行的最后一行代码。首先,JS将将AJAX请求发送到url,然后它将不等待结果。它将处理其余语句。因此,
var arr=JSON.parse(strArr);
将被执行,然后字符串变量为空。稍后,当该AJAX请求的响应返回时,传递给
success
的函数将被执行。