JSON.解析不能在代码中工作,但在开发人员控制台工作得很好
JSON.parse not working in code, but works fine in developer console
我有一个angular $http post服务,它与WCF服务对话。http post有一个成功处理程序:
.success(function (data) {
var response = JSON.parse(data);
var tsValid = response.Outcome;
deferred.resolve(tsValid);
}
然而,tsValid总是'undefined'。如果我添加一些控制台日志记录,我可以看到"data"看起来像这样:
"{'"Message'":'"Valid Timestamp'",'"Reference'":'"CheckTimestamp:Completed'",'"Outcome'":true,'"Data'":null,'"MessageCount'":0,'"MessageGUID'":null}"
那么"response"是这样的:
{"Message":"Valid Timestamp","Reference":"CheckTimestamp:Completed","Outcome":true,"Data":null,"MessageCount":0,"MessageGUID":null}
所以都是JSON。Parse在成功处理程序中所做的是去掉转义字符。当我尝试访问响应时。结果是不确定的。
但是,如果我打开命令提示符并执行JSON。手动解析"data"变量,它正确解析JSON,我可以访问response.Outcome.
知道为什么JSON。解析在成功处理程序中不起作用?
EDIT—我修改了控制台输出以删除"data:"answers"response:"标记。它们被我添加到控制台日志中,这样我就可以识别出哪个是哪个。
在response
下你有键data
,所以你应该调用:
var tsValid = response.data.Outcome;
编辑
你能运行这段代码并粘贴日志吗?
.success(function (data) {
console.log(data);
var response = JSON.parse(data);
console.log(response);
var tsValid = response.Outcome;
deferred.resolve(tsValid);
}
相关文章:
- JQuery 事件不是在生产中处理 heroku,而是在开发中工作
- 开发多租户应用程序,以便用户可以在同一浏览器中使用不同的选项卡在不同的组织中工作
- 模态在IE9中不起作用 - 在打开开发人员工具时,它可以正常工作
- JavaScript在开发中工作,而不是在生产中工作(Heroku)
- onPageLoad 在 Firefox 扩展开发中无法正常工作
- Rails 4:资产管道的正常CSS/JS开发工作流程
- Sails JS - 显示闪存消息在 Heroku(生产)上不起作用,但在开发中工作正常
- 将流类型检查添加到 grunt 服务器开发工作流
- django 中的 JavaScript 开发工作流
- 离子项目,不是在手机上工作,而是在开发过程中工作
- json_encode从事开发工作,但不在我的产品服务器上工作
- jquery正在开发网站上工作,但不在生产网站window.location上
- 让React开发人员工具与Webpack一起工作
- 在开发Javascript时,如何让计算机做更多的工作,而让我做更少的工作
- Chrome:JQuery动画;仅当在开发人员工具中选择时才显示工作
- document.ready()函数未执行,在开发控制台中工作
- 了解eclipse项目的性质和web开发的工作流程
- node+express开发工作流
- JSON.解析不能在代码中工作,但在开发人员控制台工作得很好
- 前端开发工作流