2016-01-22 52 views
1

這是我proxy.php文件:如何簡單地通過JavaScript和代理從任何網址讀取HTML?

$url = urldecode($_GET['url']); 
$url = 'http://' . str_replace('http://', '', $url); // Avoid accessing the file system 
echo file_get_contents($url); // You should probably use cURL. The concept is the same though 

和我reader.js

$(document).ready(function() { 

    var url = 'http://localhost/taboo.blue-world.pl/admin/proxy.php?url=' + encodeURIComponent('http://www.blue-world.pl') 

    $.ajax({ 
     url  : url, 
     type  : 'GET', 
     dataType : 'json' 
    }).done(function(data) { 
     console.log(data.results.result[1].category); // Do whatever you want here 
    }); 
}); 

但它不打印任何東西。你能幫我解決嗎?我對此不太滿意。

+0

是您的url返回正確的JSON格式的字符串或HTML?如果HTML,'dataType:json'會干擾,因爲你的PHP不會返回JSON。 – yergo

回答

1

當前您正在嘗試獲取JSON響應。將dataType更改爲html

dataType: 'html' 
1

它看起來像你試圖得到一個HTML響應爲JSON。

如果內容是HTML,你應該把你Ajax調用:

$.ajax({ 
    url  : url, 
    type  : 'GET', 
    dataType : 'html' 
}).done(function(data) { 
    console.log(data); // data contains the html as a text 
}); 
0

嘗試jQuery.parseJSON爲JSON格式

$.ajax({ 
     url  : url, 
     type  : 'GET', 
     dataType : 'json' 
    }).done(function(data) { 
     var data = jQuery.parseJSON(data); 
     console.log(data.results.result[1].category); // Do whatever you want here 
    }); 
    }); 
1

使用在reader.js(獲取HTML數據)

要麼 dataType: 'html'

echo(json_encode(file_get_contents($url)));在proxy.php中(對於JSON數據)

相關問題