javascript - 请求 JSONP 时的 text/html 输出

标签 javascript jquery ajax json

过去一两周我一直在使用 jQuery 库。

非常方便!我现在正在使用 AJAX 请求来检索天气、当前下载等内容,到目前为止进展顺利!

我现在尝试连接到我的 ISP 以获取当前的数据使用情况(高峰、非高峰等)。

当我使用 Chrome 时,我可以手动在 URL 中输入变量,并在浏览器中显示所需的 JSON 代码。问题是,它似乎返回 text/html 而不是 application/json

当您进入开发人员工具时,它会显示text/html。这使得我很难使用 AJAX 和 JSONP 从我的家庭服务器检索数据。请参阅此处查看失败的查询(但您仍然可以看到 JSON 格式的 text/html 输出!

Failed JSON Query on ISP

我的问题是,如何从服务器 URL 获取这些数据,然后将其转换为 jQuery 可以读取的 JSON?

当我尝试 .load$.get 函数时,我遇到了跨源问题...

编辑:Here is the PDF documentation for the API (Download at the bottom of the page) 请注意,我需要附加某些值(用户/通行证/ token )。我的最终目标是让我的 JS 读取这些值并存储它们。

最佳答案

The issue is, that it seems to return text/html instead of application/json.

这是服务器端问题。去提交错误报告。

This make it difficult for me to retrieve the data

不是单独的。您应该能够覆盖如何解析响应的设置,例如在 jQuery通过使用datatype参数。

using AJAX and JSONP

请注意,您不能使用 JSONP ,因为该 API 不支持它(从文档和简单的 ?callback=test 尝试来看)。如果您需要支持,请针对服务提供商提交错误报告。

When I try the .load, $.get functions I run into Cross Origin Issues...

是的。他们不发送CORS标题也可以。我怀疑此 API 仅在内部使用,并且由不受同源策略约束的设备使用。

how could I get this data from the server URL, then make it into JSON that jQuery can read?

使用 proxy在您自己的服务器上(与您的应用程序在同一域中运行)。它还可以修复 content-type header 。

有关更多详细信息,另请参阅 Ways to circumvent the same-origin policy ,尽管大多数方法需要服务提供商的合作(以实现服务器端功能)。

关于javascript - 请求 JSONP 时的 text/html 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27536526/

相关文章:

javascript - 设置一个 DIV 高度等于另一个 DIV 高度

javascript - 如何使用 javascript 将类作为字符串添加到元素中?

jquery - MVC 3 Razor Ajax HttpDelete IIS6

jquery - 当 content-type 设置为 application/json 时,JSON.parse() 不起作用

javascript - 如何检查是否在字段上设置了必需的属性

javascript - 如何在没有表单的情况下制作复选框

Jquery:切换不同的链接/div 并返回特定的链接/div

php - 如何使用 typeahead bootstrap 和 sql 实现自动完成?

javascript - 使用可点击的链接填充选择框

javascript - Rxjs 包装 D3 (Observable) 中的其他库函数