使用简单 PHP 代理的跨域 getJson 请求

2024-03-25

您好,我正在尝试从仅返回 JSON 而不是 JSONP 的 api 获取数据。每次我尝试以 JSONP 方式连接数据时,它都不起作用,因为我不期望 JSON。所以,我想我必须使用 PHP 代理来解决跨域问题,以便我可以解释 JSON 请求。 [简单 PHP 代理][1] 是我正在尝试使用的代理,但我在尝试让最基本的功能正常工作时遇到了困难。当我在示例页面上输入我想要查询的 url 到他的示例时,它就起作用了。当我这样做时,却没有,有时我会收到“缺少命令”(API 告诉我争论太多或太少的方式)或 httpcode/jsoncode 404。

Expensify 是我正在查询的 API。我首先尝试验证命令。如果您在浏览器中输入此 URL,您将得到我想要的结果:

使用简单 PHP 代理,我的请求 URL 变为:

这是我非常简单的 jQuery 代码:

var proxy = 'ba-simple-proxy.php';
url = proxy + '?' + "url=" + "https://api.expensify.com?    command=Authenticate&partnerName=applicant&partnerPassword=d7c3119c6cdab02d68d9&partnerUserID=expensifytest%40mailinator.com&partnerUserSecret=hire_me";
$.getJSON( url, function(data){});

“ba-simple-proxy.php”可以在[此处][3]找到。有人有尝试通过代理连接跨域 API 的经验吗?也许甚至是这个?有更好的想法吗?如有任何帮助,我们将不胜感激,谢谢。


您需要对 URL 进行编码,因为参数“partnerName”将传递到您的 ba-simple-proxy.php 脚本,而不是 api.expensify.com 网站。我相信您正在寻找的功能是: 编码 URI(uri)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用简单 PHP 代理的跨域 getJson 请求 的相关文章

随机推荐