gpt4 book ai didi

javascript - responseText 数组无法正确解析

转载 作者:行者123 更新时间:2023-11-28 15:27:33 27 4
gpt4 key购买 nike

我正在使用 ajax 从我的 php 解析器检索 json_encode() 数组。

响应文本为["4.wav","2.wav","3.wav","6.mp3","1.mp3","5.wav"]

如果我将其放入数组中,如下所示:

var myArray = ["4.wav","2.wav","3.wav","6.mp3","1.mp3","5.wav"];

myArray 将返回

4.wav, 2.wav, 3.wav, 6.mp3, 1.mp3, 5.wav 

myArray.length 计数如预期为 6,对吧?

但是如果我将我的responseText放入var中并且像这样:

var myArray = event.target.responseText;

myArray 将返回

["4.wav","2.wav","3.wav","6.mp3","1.mp3","5.wav"]

myArray.length 计数为 49。

有人可以解释一下这里到底发生了什么吗?

这是我如何进行 ajax 调用:

    var ajax = new XMLHttpRequest();

ajax.addEventListener("load", function(event){
var response = event.target.responseText;});

ajax.open("POST", "parser.php");
ajax.send();

提前致谢:)

最佳答案

因为 event.target.responseText 不是数组,而是字符串。字符串对象的长度是指字符串中字符的数量。您需要对响应调用 JSON.parse 以获得您想要的正确格式。

var responseText = '["4.wav","2.wav","3.wav","6.mp3","1.mp3","5.wav"]';

responseText.length //49 at this point, the length of the string

var responseArray = JSON.parse(responseText);

responseArray.length //6, because it's an array

关于javascript - responseText 数组无法正确解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28555463/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com