【发布时间】:2016-02-11 20:49:16
【问题描述】:
我有一些在服务器端呈现的 JSON 数据可在客户端页面中使用。在 HTTP 响应中,它看起来是正确的:
digitalData = {
"page": {
"pageInfo": {
"geoRegion": "US",
"onsiteSearchResults": 38,
"onsiteSearchTerm": "leather",
"sysEnv": "HAMP"
},
"category": {
"dirID": 2,
"pageTemplate": "/store/search.aspx",
"pageType": "Search"
},
"attributes": {
"searchType": "standard",
"refinementCategory": "10001",
"searchFilters": ["50859"]
}
},
"user": {
"profile": {
"profileInfo": {
"profileID": "{C0A253A9-AD6E-4B6B-A313-3D215704D0FB}",
"returningStatus": "new"
}
},
"segment": {
"persona": ["EXPERT"]
}
},
"cart": {
"cartID": "2508d65f-6495-4256-8125-75767b847e45",
"numItems": 0
},
"version": "1.0"
};
但是当我通过 Dev Tools Elements 或 Console 检查 DOM 时,上面 JSON 中的 searchFilters 字符串数组始终为空。我根本没有引用该对象的客户端代码。它如何/为什么从 HTTP 响应中的正确变为 DOM 中的 null?我已经在 JSONLint 中验证了 JSON,它是有效的。
【问题讨论】:
-
digitalData =不是 JSON -
检查 DOM 与
searchFilters的值有什么关系?您发布的只是一个对象结构,并说它是“错误的”。 -
在响应中你应该只得到 JSON,没有之前的赋值和之后的分号
-
这篇文章中没有 JSON...也没有太多我可以破译的问题...
-
您能否将使用此数据的代码发布到重复错误的 JsFiddle 中。目前,这里没有足够的细节来确定问题。