我正在为自动完成功能请求一些JSON。不幸的是,JSON包含了一个html span标记。这是因为用VB编写的后端库很差,操作员在接下来的几个月内没有改变。所以我必须以另一种方式摆脱html span标签。这是我的JS调用和响应:
<span id="fromContext">
{
"results": [
{
"headline": "headline text",
"summary": " <em>summary</em> result text",
"url": "/url/to/page",
"image": {
"url": "/media.jpg",
"alt": "media alt text"
},
"count": ""
},
{
"headline": "empty object"
}
],
"hasmore": true
}
</span>
它非常适合使用格式良好的JSON作为响应。但我的回答如下:
var i=0;
...
image.fadeOut(i, function(){
i=500;
...
所以,我能够检测到span(因为它有一个ID),但我不知道如何使用ajax请求访问整个响应的JSON部分。我认为这个主要问题是,ajax调用导致错误,因为响应不是JSON ... 任何想法如何解决这个问题?
答案 0 :(得分:0)
您可以将ajax.dataType属性更改为“text”,将contentType更改为“text / plain”
contentType: "text/plain; charset=utf-8",
dataType: "text",
并将响应字符串转换为jquery对象
const $responseObject = $(response);
然后您可以使用
访问有效的jsonlet text = $responseObject.text();
并进一步处理。