最近一两个星期,我一直在使用jQuery库。
非常便利!我现在正在处理AJAX请求,以检索诸如天气,当前下载等内容,到目前为止一切进展顺利!
我现在尝试连接到ISP以获取当前的数据使用情况(峰值,非高峰等)。
使用Chrome时,我可以在URL中手动键入变量,并在浏览器中显示所需的JSON代码。问题是,它似乎返回text/html
而不是application/json
。
当您进入开发人员工具时,它会显示text/html
。这使我很难使用AJAX和来从家庭服务器检索数据JSONP
。请参阅此处以获取失败的查询(但您仍然可以看到text/html
JSON格式的输出!
ISP上的JSON查询失败
我的问题是,如何从服务器URL获取此数据,然后将其转换为jQuery可以读取的JSON?
当我尝试使用时.load
,$.get
功能会遇到“跨源问题” ...
编辑:这是API的PDF文档(在页面底部下载)请注意,我需要附加某些值(用户/通过/令牌)。我的最终目的是让我的JS读取并存储这些值。
问题是,它似乎返回
text/html
而不是application/json
。
那是服务器端的问题。去提交一个错误报告。
这使我很难检索数据
不是靠它自己。您应该能够覆盖设置如何解析响应的设置,例如在jQuery中使用datatype
参数。
使用AJAX和JSONP
请注意,您不能使用JSONP,因为该API不支持JSONP(从文档和简单的?callback=test
尝试来看)。如果需要支持,请向服务提供商提交错误报告。
当我尝试使用时
.load
,$.get
功能会遇到“跨源问题” ...
是的。他们也不发送CORS标头。我怀疑此API仅在内部使用,并且不受不受相同来源政策约束的设备使用。
我如何从服务器URL获取此数据,然后将其转换为jQuery可以读取的JSON?
在您自己的服务器(与您的应用位于同一域中)上使用代理。它还可以修复该content-type
标头。
有关更多详细信息,另请参见规避同源策略的方法,尽管大多数方法都需要服务提供商的配合(以实现服务器端功能)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句