使用$.ajax返回HTML&;将其转换为JavaScript数组
我抓取了一个HTML页面的内容,页面上的内容非常简单。它只是一个“数组”,虽然它是纯文本,所以当它返回时,JavaScript将其视为字符串而不是数组。这是HTML页面上的全部内容:使用$.ajax返回HTML&;将其转换为JavaScript数组,javascript,ajax,arrays,Javascript,Ajax,Arrays,我抓取了一个HTML页面的内容,页面上的内容非常简单。它只是一个“数组”,虽然它是纯文本,所以当它返回时,JavaScript将其视为字符串而不是数组。这是HTML页面上的全部内容: var urlArray = window.location.pathname.split("/"), idFromUrl = urlArray[2], dataPath = "/bulletins/" + idFromUrl + "/data"; $.ajax({ url: dataPa
var urlArray = window.location.pathname.split("/"),
idFromUrl = urlArray[2],
dataPath = "/bulletins/" + idFromUrl + "/data";
$.ajax({
url: dataPath,
type: "get",
dataType: "html",
success: function (data) {
var dataObj = data.replace(/"/g, '"');
console.log(dataObj);
}
});
如果不替换“
,一个控制台.log
就会弹出[{“sermontitle”:“test”,“welcome”:“test”,“id”:“52E7F0A15F85B214BF1000001”}]
所以我的问题是,我如何将HTML字符串(已经在“数组”形式)转换为实际数组?将“dataType”更改为“json”,它将为您转换:
[{"sermontitle":"test","welcome":"test","_id":"52e7f0a15f85b214f1000001"}]
如果它返回的是“
,而不是”
,那么我将更改AJAX返回页面,以确保它执行正确的JSON响应。将“数据类型”更改为“JSON”,它将为您转换:
[{"sermontitle":"test","welcome":"test","_id":"52e7f0a15f85b214f1000001"}]
如果它返回的是“
而不是”
,那么我将更改AJAX返回页面,以确保它执行正确的JSON响应。您可以使用JSON.parse
var urlArray = window.location.pathname.split("/"),
idFromUrl = urlArray[2],
dataPath = "/bulletins/" + idFromUrl + "/data";
$.ajax({
url: dataPath,
type: "get",
dataType: "json",
success: function (data) {
console.log(data);
}
});
您可以使用JSON.parse
var urlArray = window.location.pathname.split("/"),
idFromUrl = urlArray[2],
dataPath = "/bulletins/" + idFromUrl + "/data";
$.ajax({
url: dataPath,
type: "get",
dataType: "json",
success: function (data) {
console.log(data);
}
});
您可以将返回的HTML片段解析为JSON:
JSON.parse(dataObj);
您可以将返回的HTML片段解析为JSON:
JSON.parse(dataObj);
为什么回答是“?你是怎么说你从
HTML
页面上得到的?如何拥有阵列
?除了[]
之外,它看起来像JSON
JSON
具有强大的语法。我会尝试剥离[]
,然后剥离json.parse()
它。@dollarvar我是从HTML页面上得到的,因为我有点黑客攻击了一个用Jade构建的节点视图,只是将所有数据转储到一个空页面上。我不知道如何使用Jade模板快速创建JSON文件。剥离[]
然后JSON.parse()
是否有效?JSON.parse确实有效。不过,我可能还是想去掉[]
。你知道如何用正则表达式实现吗?为什么响应是带“?你是什么意思?你是从HTML
页面上得到的?你怎么有数组
?它看起来像JSON
,除了[]
JSON
有很强的语法。我会尝试去掉[]
然后JSON.parse()
it.@dollarvar我是从HTML页面上得到的,因为我在某种程度上侵入了一个使用Jade构建的节点视图,将所有数据转储到一个空页面上。无法像使用Jade模板那样快速创建JSON文件。是否剥离[]
然后JSON.parse()
it work?json.parse确实有效。我可能想去掉[]
仍然是。你知道如何使用正则表达式吗?是的,我试过了,但没有成功。它什么也不返回。我想这是因为它实际上不是一个JSON文件。你有没有在文件中放入JSON头?是的,我试过,但没有成功。它什么也不返回。我想这是因为它实际上不是一个JSON文件。你有没有使用d在文件中放入JSON头?我不小心单击了删除,太糟糕了:-)我不小心单击了删除,太糟糕了:-)