尝试加载 JSON 时出现跨域 AJAX 问题

Cross-Domain AJAX issue trying to load JSON

本文关键字:AJAX 问题 加载 JSON      更新时间:2023-09-26

我有一个返回JSON字符串的URL(我无法控制)。这个JSON字符串包含一个我尝试用JavaScript/jQuery AJAX加载的URL。加载 JSON 字符串时我遇到的是跨域问题。

我知道一些解决跨域问题的解决方法,例如:

  • 通过添加"callback=?"作为参数来使用 JSONP。
  • 例如,调用一个PHP脚本并让它加载并返回JSON。

我的问题是不支持 JSONP,并且由于以下问题,我无法在服务器上使用 PHP 的便捷方法:

JSON 数据中的 URL 有一个动态生成的参数。据我所知,在使用它时,动态生成的参数是由加载 JSON 的内容定义的,特别是用户代理字符串。但它也取决于加载 JSON 的 IP。这很重要,因为如果加载 JSON 的内容与加载 URL 的内容不匹配,则 JSON 字符串中的 URL 将返回 403 禁止。

我希望我已经很好地解释了我的问题,我感谢我能得到的所有帮助。

正如昆汀所说,这听起来像是一种安全措施,旨在阻止你做你想做的事情。所以你不能这样做。或者你从服务器实现一个查询,并对如何处理动态生成的参数进行逆向工程,但请注意,你几乎肯定会违反一些服务条款,而这些条款似乎被服务认真对待。因此,经过几天的工作,当他们弄清楚你在做什么并修补它时,如果它停止工作,请不要感到惊讶。