我想知道如何使用本机,无库 JavaScript获取外部页面的源代码 - 是否可能?
(注意:我正在尝试获取网页的JSON内容,如this one)
我无法使用外部库,例如JQuery。
编辑 - 结果表明使用XMLHttpRequest
效果很好,以及(如果我有服务器可用)我可以使用...
var my_file = <?php echo '"'.file_get_contents("file.json").'"' ?>
另外,我可以使用JSON.parse()
来获取文件的内容:
// Extending from the previous block of code
var my_json = JSON.parse(my_file);
答案 0 :(得分:2)
您应该直接使用XMLHttpRequest
(又名XHR)。
var url = "http://scratch.mit.edu/api/v1/project/1000/?format=json";
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", url, false);
xmlHttp.send();
alert(xmlHttp.responseText);
&#13;
上面的简单示例将执行同步请求,这将阻止您的UI直到I / O完成。您也可以异步进行此调用,在I / O完成时处理结果。
function success(responseText) {
alert(responseText);
}
function error(statusText) {
alert("Error: " + statusText);
}
var url = "http://scratch.mit.edu/api/v1/project/1000/?format=json";
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", url, true);
xmlHttp.onload = function(e) {
if (xmlHttp.readyState === 4) {
if (xmlHttp.status === 200) {
success(xmlHttp.responseText);
} else {
error(xmlHttp.statusText);
}
}
};
xmlHttp.onerror = function (e) {
error(xmlHttp.statusText);
};
xmlHttp.send();
&#13;