我需要使用一个web api,它位于这里http://46.253.202.174:8080 ws-api/v1/rest/zdata/codesByJurAndUsage ?文书期刊波士顿= % 20 ma&美国=理发师
我不知道它是如何实现或访问API的代码的任何细节,我只是试图消费API,我可以看到JSON返回数据,如果我在浏览器中输入url,但当我试图使用$调用API。getJSON,它给了我一个访问拒绝错误。我知道这是一个跨领域的问题。我还尝试了其他一些东西,比如json数据类型,但没有成功。我的问题是,如果我能够在浏览器中看到结果,我不应该能够从脚本中获得结果,或者它不一定是真的?第二,如果到目前为止我所做的尝试都不成功,还有其他方法吗?
谢谢
您是正确的,由于同源策略限制,您将无法通过$.getJSON
加载此数据。您需要通过JSONP加载它,或者,如果服务不支持JSONP(看起来不支持),则需要通过代理加载。几个选项:
-
您可以通过PHP或其他服务器端语言在自己的服务器上设置代理。这将允许您从自己的服务器请求数据,从而绕过同源限制。您可以查看像Simple PHP Proxy这样的项目。
-
您可以使用YQL作为代理-它通过Yahoo!然后你可以通过JSONP加载它。