将字符串从获取响应更改为数组
Change string from get response to array
我有一个文本框,我想要一个自动填充功能,但它是动态的,因此自动填充中的数据必须来自服务器。我已经有了一切,我想我会使用 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
});
});
}
});
现在 get 响应返回一个 html 格式的网页,所以我解析了它......这是 HTML 是什么
<html>
<head></head>
<body>
<pre> ["Software","Hardware","Malware"]</pre>
</body>
</html>
所以我通过 [ 和 ] 解析了它,如您所见。了解"软件","硬件","恶意软件"的内部
我如何将其解析为可用作我的盒子源的数组?
你可以让jQuery为你完成工作:
var pre = $(data);
仅获取 <pre>
元素及其上下文。 html
和body
将被忽略。
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>
var str = '<html><head>'
</head>'
<body>'
<pre> ["Software","Hardware","Malware"]</pre>'
'
</body></html>'
';
var arr = JSON.parse(
str.replace(/[^[]*/ , '').replace(/(])(.*)/ , '$1')
)
document.body.innerHTML = JSON.stringify(arr)
相关文章:
- 在不同的javascript数组中对json响应进行排序
- 响应应包含一个对象,但得到的却是GET操作的数组
- 将ajax数组缓冲区响应绘制到画布中
- 通过iron-ajax初始化对象数组(链接到caller's元素的响应)
- 如何将Facebook Graph API响应存储为Javascript数组
- 我如何才能使数组中的按钮只对其作出响应'使用javascript的自己的包装器
- 获取 JSON 编码响应中的数组键
- 使用来自 Ajax 响应的 JSON 数据数组
- 在Ajax响应中解析Json数组
- ember dev fixes错误:“;断言失败:findAll的响应必须是数组,而不是未定义的“”;
- Yodlee获取Captcha的MFAR响应字节数组
- 如何从html响应解析javascript数组(包含JSON对象作为元素)
- 如何访问服务器数组响应中的对象字段
- 获取 Ajax $.post 数组响应
- 如何将字符串数组响应转换为 javascript 2D 数组
- 将json数组响应更改为int数组
- 对JSON数组响应中的值求和
- 使用正确的数组响应HTTP请求时出现问题.使用expressjs从函数内部发送结果的可能方法
- Ajax返回字符串形式的python数组响应
- 如何使用javascript jquery在HTML页面中显示json(数组)响应