gpt4 book ai didi

javascript - 将字符串从获取响应更改为数组

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

我有一个文本框,我想要自动填充功能,但它是动态的,因此自动填充中的数据必须来自服务器。我已经准备好了一切,我想我会使用 jquery 库中的自动填充功能,但问题是我无法正确地将 get 中的文本加载为数组...

这是代码

jQuery(".search-form-box").on("input", function() {
var box = $(this);
var min = box.data("autocomplete-min");
var searchLink = box.data("autocomplete-url");
var autocomplete;
if (box.val().length >= min) {
$.get(searchLink + box.val(), function(data) {
autocomplete = [ data.substring(data.indexOf("[") + 1, data.indexOf("]")) ];
box.autocomplete({
source : autocomplete
});
});
}
});

现在获取响应返回一个 html 格式的网页,所以我解析了它......这就是 HTML

<html>
<head></head>
<body>
<pre> ["Software","Hardware","Malware"]</pre>
</body>
</html>

所以我用 [ 和 ] 解析了它,如你所见。获取内部“软件”、“硬件”、“恶意软件”

我如何将其解析为一个可以用作我的盒子源的数组?

最佳答案

您可以让 jQuery 为您完成工作:

var pre = $(data);

仅获取 <pre>元素及其上下文。 htmlbody被忽略。

var pretext = pre.text();

获取内容(数组字符串)。

var arr = JSON.parse(pretext);

将字符串解析为数组(如果像上面的示例一样,它是有效的 JSON)。

var data = '<html><head></head><body><pre> ["Software","Hardware","Malware"]</pre></body></html>';

var pre = $(data);

var pretext = pre.text();

var arr = JSON.parse(pretext);

console.log(arr);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

关于javascript - 将字符串从获取响应更改为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33399748/

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