有人可以提供关于$ http如何处理JSON的背景知识吗?它是否检测输出的格式并在成功时自动将其转换为JSON,还是我必须手动处理?
如果这是默认行为,如果它无法将输出转换为JSON会发生什么?
语境:在这种情况下我的web服务失败,因为SQL连接错误,但success
仍然有所谓
我的$ HTTP相关的代码序列:
this.$http.defaults.headers.common["Accept"] = "application/json";
this.$http.get(common.Config.getEndPoint() + "/sync", {params:params})
.success(function(data, status, headers, config) {
self.onResult(data);
})
.error(function(data, status, headers, config){
console.log(data)
});
错误 - (因为我的MySQL服务器没有运行,这可以修复,但我的目标是在前端正常处理这个错误,如果发生这种情况,在后端以及前端寻找一个好的策略)
SQLSTATE[HY000] [2002] Connection refused<br />
<b>Fatal error</b>: Call to a member function prepare() on a non-object in
生成
$statement = $this->connection->prepare("SELECT id, username, password FROM `user` WHERE username = :username AND suspended = 0 AND deleted = 0");
学习中的错误
PHP行: 成功获取任何2xx状态代码运行,而错误的任何1XX,3XX运行,4XX & 5XX
服务器在响应请求时是否设置了“Content-Type”标头?如果不是,那么你必须告诉'$ http'什么期望。 – Brett
Web服务返回什么状态代码? –
@NeilSmith我编辑了代码来解决你的问题,关键是要如何优雅地处理这种情况? – user2727195