下面有一个成功返回结果的ajax请求。 返回的结果如下所示
结果结构
这是返回上面结构的ajax请求。 档案
$.ajax({
url: domain+$(this).val(),
dataType: 'jsonp',
success: function (results) {
$("#suggesstion-box").show();
$("#suggesstion-box").html(results);
console.log(results);
},
});
现在,我如何使结果在#suggestion-box
中返回,如下所示
Internet Explorer
Internet Speed Test
Internet
目前,它显示在我的#suggestion
框中,代码如上
Internet Explorer, Internet Speed Test,Internet
谢谢你的帮助
您可以先使用逗号拆分结果,然后使用
(如果element是div元素)或\n
(如果element是input元素)连接它们:
$("#suggesstion-box").html(results[1].split(',').join('<br/>'));
演示:
null
var results = 'Internet Explorer, Internet Speed Test,Internet';
$("#suggesstion-box").html(results.split(',').join('<br/>'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="suggesstion-box"></div>
不是最短的选项,也不是最好的,但另一个选项是使用数组映射函数。
我创建了一个单独的函数来处理:
在我的map方法中,对于数组中的每个项,我调用了我的函数,并将返回的结果(一个html元素)附加到我的div中。
const myDiv = $( "#suggesstion-box" );
const createMyElement = (el) => {
const newElement = document.createElement('p');
newElement.innerHTML = `<p>${el}</p>`;
return newElement;
};
$.ajax({
url: domain+$(this).val(),
dataType: 'jsonp',
success: function (results) {
$("#suggesstion-box").show();
results[1].map(el => myDiv.appendChild(createMyElement(el)));
},