Console.log没有打印$http响应
Cordova Console.log not printing $http response
我正在使用Angular的$http服务从远程数据源获取一些数据,但是将结果注销到控制台会得到空字符串。
函数如下:
$http.get('/some/url/')
.success(function(data/*, status, headers, config*/) {
console.log('Success! data: ', data);
})
.error(function(data, status, headers, config) {
console.log('failed http req!');
console.log('data: ', data);
console.log('status: ', status);
console.log('headers: ', JSON.stringify(headers()));
console.log('config: ', JSON.stringify(config));
});
我故意调用一个我知道不存在的URL,并期望得到一个404。当从浏览器运行时(使用cordova serve
),我看到所有的错误数据打印到console.log。
我正在使用Cordova ~3.4我已经为Cordova安装了控制台插件。我正在查看Android设备日志,使用adb logcat
设置为调试。
任何想法?
更新:我尝试了所有4个变量使用JSON。收紧,只是想看看这是否能在沮丧的时刻完全靠运气……将它们留在headers()和config中,因为它们无论如何都是对象。我仍然没有得到任何关于数据或状态的打印,这仍然让我困惑…
Cordova的console.log只接受一个参数(至少在Android上),这就是为什么我只得到部分日志记录。将代码更改为:
$http.get('/some/url/')
.success(function(data/*, status, headers, config*/) {
console.log('Success! data: ' + data);
})
.error(function(data, status, headers, config) {
console.log('failed http req!');
console.log('data: ' + data);
console.log('status: ' + status);
console.log('headers: ' + JSON.stringify(headers()));
console.log('config: ' + JSON.stringify(config));
});
解决了问题
成功和错误回调实际上将响应对象分解为4个参数,并将它们作为参数传递。
你应该使用。then语法来处理成功和错误:
$http(...).then(success,error)
错误回调的第一个参数是JSON格式的原始响应对象。您可以从中提取一些错误信息。
成功和错误回调很方便,因此将其移到响应拦截器中可能更有意义。
Cordova不推荐多个args
向console.log
传递。您可以直接联系日志。原因是,Cordova在钩子下使用WebKit,而WebKit的onConsoleMessage
方法只有一个参数,它总是打印第一个参数。您可以在android的官方文档中找到更多详细信息。
相关文章:
- IIS动态HTTP响应标头
- 我如何设置HTTP头“;访问控制允许起源”;用于来自thttpd web服务器的HTTP响应
- Http响应拆分安全问题的XMLHTTPRequest/Response用例的Filter实现
- 使用Express筛选HTTP响应
- 使用不同参数的超级代理缓存缓存 HTTP 响应
- 如何无限期缓存HTTP响应
- 如果HTTP响应为404,脚本标记会被阻塞吗
- Angular 2:用HTTP响应填充复选框列表
- 如何访问您没有访问的HTTP响应的标头't使用javascript通过AJAX发送
- string http响应!=javascript中的相同字符串
- 拦截$resource和$http响应angular
- HTTP响应中出现意外内容
- 如何在java脚本中从http响应生成blob
- 如何记录Apache Cordova应用程序中加载的iframe的http响应
- 如何缓存$http响应以便在angularjs中重用
- 如何将$http响应值传递给另一个函数
- 检查 http 响应代码以显示相应的失败消息
- $http响应拦截器标头
- 在封闭的 python 服务器上的 ajax 请求中获取 0 作为 Http 响应代码
- 如何正确编写 http 响应以便使用 XHR 进度事件侦听器