这是PHP文档
以下是我将如何在 Ajax 调用中使用它,如果我找不到纯粹的客户端方法来执行此操作。
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
有没有办法做这个客户端,这样我就不必对字符串进行 ajax 处理?
你可以做到
JS代码:
$.post('phppage.php', { url: url }, function(data) {
document.getElementById('somediv').innerHTML = data;
});
PHP代码:
$url = $_POST['url'];
echo file_get_contents($url);
这将使您获得网址的内容。
2020 年,还有一些现代方法;
async function file_get_contents(uri, callback) {
let res = await fetch(uri),
ret = await res.text();
return callback ? callback(ret) : ret; // a Promise() actually.
}
file_get_contents("https://httpbin.org/get", console.log);
// or
file_get_contents("https://httpbin.org/get").then(ret => console.log(ret));
不能出去从页面上抓取数据。它可以调用本地PHP脚本,然后代表它获取数据,但JavaScript(在浏览器中(无法做到这一点。
$.post("/localScript.php", { srcToGet: 'http://example.com' }, function(data){
/* From within here, data is whatever your local script sent back to us */
});
您可以使用 JSONP 和跨域资源共享等选项,但这两个选项都需要设置另一端,因此您不能只选择一个域并开始发出数据请求。
延伸阅读:同源政策
此函数将文件作为字符串返回,就像 PHP file_get_contents()
一样。
function file_get_contents(uri, callback) {
fetch(uri).then(res => res.text()).then(text => callback(text));
}
然而,与PHP不同的是,JavaScript将继续下一个语句,而不是等待数据返回。
不是一般意义上的。跨域限制不允许 Javascript 代码执行此操作。
如果目标站点设置了 CORS(跨源资源共享(,则可以使用 XMLHttpRequest 加载文件。大多数网站不会,因为出于安全原因,默认情况下它是关闭的,并且很少需要。
如果您只需要包含 HTML 页面,则可以将其粘贴在 <iframe>
元素中。不过,这受到一些布局陷阱的影响(页面最终以固定大小的元素结束(。
或者你可以使用 php.js 库。这允许一些用于javascript的php函数。file_get_contents(( 函数之一。
<script>
var data = file_get_contents('Your URL');
</script>
您可以找到有关php的更多信息.js : http://phpjs.org/
我认为这可能对您有用:
一个 npm 包,其中 "file-get-content" 方法用于节点.jshttps://www.npmjs.com/package/file-get-contents
它是异步的,所以如果你使用express,它应该像这样使用。
app.get('/', async (req, res)=>{
//paste here the code below
}
例
const fileGetContents = require('file-get-contents'); // A File request try { let data = await fileGetContents('/tmp/foo/bar'); console.log(data); } catch (err) { console.log('Unable to load data from /tmp/foo/bar'); } // Or a HTTP(S) request fileGetContents('https://pokeapi.co/api/v2/pokemon/1/').then(json => { const pokemon = JSON.parse(json); console.log(`Name of first pokemon is ${pokemon.name}`); }).catch(err => { console.err(`Unable to get content from PokeAPI. Reason: ${err.message}`); });
<div id="svg">
</div>
<script>
function file_get_contents(uri, callback) {
fetch(uri).then(res => res.text()).then(text =>
{
var xmlSvg =text;
console.log(xmlSvg );
document.getElementById('svg').innerHTML = xmlSvg;
})
}
var uri ='You-urlllllllll-svg';
file_get_contents(uri);
</script>
function file_get_contents(filename) {
fetch(filename).then((resp) => resp.text()).then(function(data) {
document.getElementById("id").innerHTML = data;
});
}
file_get_contents("url");
<span id="id"></span>