0

我在 makeWebRequest 函数的试验和错误上花费了很多时间。使用一个非常简单的服务,它适用于 JSON,但不适用于 XML。

var url = "http://www.broadbandmap.gov/broadbandmap/demographic/jun2014/nation";
// WORKS
Comm.makeWebRequest(url, {"format" => "json"}, {}, method(:onReceive));
// FAILS for XML with responseCode "Failed to load Error: -400"
Comm.makeWebRequest(url, {}, {}, method(:onReceive));

对于 XML 场景,我尝试了各种不同的选项,但总是失败。任何人都可以做一个有效的例子吗?

4

1 回答 1

0

甚至应该支持 XML 吗?根据我从文档中收集的信息,它不是:

:responseType (Number) — 响应的格式。应该是 HTTP_RESPONSE_CONTENT_TYPE_* 值。如果没有给出,系统将首先尝试将响应解析为 JSON,然后解析为 URL ENCODED

https://developer.garmin.com/downloads/connect-iq/monkey-c/doc/Toybox/Communications.html#makeWebRequest-instance_method

页面上甚至从未提及 XML。

如果这确实是您希望使用的 API(而不仅仅是一个示例),您是否有任何理由不能请求和处理 JSON 格式的响应?

http://www.broadbandmap.gov/broadbandmap/demographic/jun2014/nation?format=json

于 2016-08-21T06:48:45.747 回答