我在Angular App控制器上有这个代码:
$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浏览器上,请求正常。
我认为,由于服务器是Arduino,它可能与Safari iOS发送的请求标头有关,也许Arduino服务器不喜欢并返回404错误。
我尝试用weinre调试它,但它没有显示任何xhr请求(至少对我而言)。
还有哪些其他不太繁琐的方法可以调试请求,以便我可以看到正在发送哪些标头,因为我没有Mac?
答案 0 :(得分:0)
我已经解决了。我可以通过修改Arduino服务器以在arduino串行控制台中输出标题来查看标题。
原来问题是arduino服务器本身,它没有返回200代码,所以它在Safari iOS中失败了。不知怎的,它仍然适用于其他浏览器,但我不知道为什么。