我試圖從使用jQuery和PHP(作爲代理)的服務中獲取數據。PHP在不查詢的情況下提取URL
這是我的PHP獲取JSON。
<?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中刪除查詢?
你是對的。咄。 – devs
應該可以簡單地使用它,因爲從那裏,沒有url_encoding需要 – charlietfl
謝謝你提醒我。只需將它封裝在一個PHP函數中,並稱它爲一天。 – devs