调试 Angular 的 $http.jsonp();在 Safari 上 iOS

Debug Angular's $http.jsonp(); on Safari iOS

我的 Angular 应用控制器上有这段代码:

$http.jsonp('http://192.168.1.210/json', config).success(function (data) {
    vm.lightSensor = data.a0-vm.lightThreshold;
    vm.detected = (data.d2==1) ? 'Yes' : 'No';
    vm.toggle = (data.d7==1) ? 'on' : 'off';
    vm.jsonerror = false;
}).error(function (data, status, headers, config) {
    alert(status);
    vm.jsonerror = true;
});

当我发出警报时它会抛出 404 状态错误,但是,这发生在 Safari iOS 而不是 iOS Chrome,请求工作正常。

我认为,由于服务器是 Arduino,这可能与 Safari iOS 发送的请求 headers 有关,Arduino 服务器可能不喜欢并且returns 404 错误。

我尝试用 weinre 调试它,但它没有显示任何 xhr 请求(至少对我而言)。

考虑到我没有 Mac,还有哪些其他 not-too-tedious 方法可以调试请求,这样我就可以看到正在发送什么 headers?

我已经解决了。我可以通过修改 Arduino 服务器以在 arduino 串行控制台中输出 headers 来查看 headers。

原来问题出在 arduino 服务器本身,它没有 return 200 代码,所以它在 Safari iOS 中失败了。不知何故它仍然适用于其他浏览器,但我不知道为什么。