所以,我有一个用于我的顶级网站的 API,我将其提供给我的用户以放置在他们的页面上。
API:
<script type="text/javascript">
var id = 21;
$(document).ready(function(){
$.getJSON("http://topsite.com/index.php?page=vote", { id: id, hasVoted: 'unknown' }, function(data) {
if(data == 2) {
window.location.replace("http://topsite.com/index.php?page=vote&id=" + id);
}
});
});
所以,基本上我想做的是避免我的客户将此代码放在他们的网站上:
<script type="text/javascript">$.getJSON("http://topsite.com/index.php?page=vote&id=21");</script>
因为我希望用户重定向到我的网站,这样我就可以通过广告赚取一些收入,甚至向他们展示一些信息。
所以,我想知道是否有任何方法可以知道何时使用 ajax 请求访问网站,或者是否有方法在设置了 hasVoted 参数的情况下禁用 AJAX 请求。
感谢任何帮助,谢谢!
编辑:当从带有“hasVoted”参数的网站重定向到其他页面时,我将发送自定义 header 。
编辑问题:我将如何继续发送带有位置的自定义 header ?还是我离这里太远了?
最佳答案
许多 AJAX 库非正式地添加了一个名为 X-Requested-With
的自定义 HTTP header ,并将值设置为 XMLHttpRequest
。您可以检查该 header 并查看它是否设置为该值,在这种情况下,最好假设它是一个 AJAX 请求。
但是,没有标准,如果您直接构建 XMLHttpRequest(即实现您自己的 AJAX 代码),则没有真正的方法可以区分。
关于php - 如何知道网站是否正在通过 AJAX 请求访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9969997/