我正在尝试使用 jQuery 和 PHP(作为代理)从服务中获取。
这是我获取 JSON 的 PHP。
<?php
if (!isset($_GET['url'])) die();
$url = urldecode($_GET['url']);
$url = 'http://' . str_replace('http://', '', $url);
echo file_get_contents($url);
?>
用 JS 来操作数据(抱歉只好去掉密钥):
var api ='proxy.php?url=http://api.buycraft.net/v3?secret=MY-SECRET-KEY&action=payments';
$.getJSON(api, function(data){
$.each(data, function(i, donor){
console.log(donor);
});
});
所以proxy.php?url=http://api.buycraft.net/v3?secret=MY-SECRET-KEY&action=payments
只返回以下内容:
{"code":100,"payload":[]}
但是如果我直接访问JSON,我可以看到我想要的数据
{
"code": 0,
"payload": [
{
"time": 1349661897,
"packages": [
"49381"
],
"ign": "notch",
"price": "15.99",
"currency": "USD"
}
例如。
我知道这是因为 php 删除了?action=payments
查询。即使我使用&
而不是&
. 那么有没有办法让 PHP 从 URL 中删除查询?