gpt4 book ai didi

javascript - 在Ajax调用中指定User Agent,如何正确执行?

转载 作者:行者123 更新时间:2023-12-03 12:00:54 26 4
gpt4 key购买 nike

我正在用 PHP 和 ajax 编写自己的实时访客计数器。

一切正常,但有一个小问题,即每次 ajax 调用都会被视为一次额外访问。我知道如何根据用户代理(例如机器人等)对特定访问者进行排序,因此如果我只能在 ajax 调用中指定用户代理,我应该能够使 ajax 调用本身不计为访问。

现在,我的问题是,如何在 Ajax 调用中正确指定用户代理?在这种特殊情况下,我想将用户代理指定为“googlebot”或类似的。

这是我的工作ajax代码:

<script type="text/javascript">
var interval = 5000; // 1000 = 1 second, 3000 = 3 seconds
function doAjax() {
jQuery.ajax({
type: 'POST',
url: '/codes/LiveVisitsStats/postlivecounter.php',
data: jQuery(this).serialize(),
success: function (data) {
var arr = data.split('|');
jQuery('#counterint').html(arr[0]);
jQuery('#extrainfoscounter').html(arr[1]);
},
complete: function (data) {
// Schedule the next
setTimeout(doAjax, interval);
}
});
}
setTimeout(doAjax, interval);
</script>

一些额外的信息/澄清..跟踪代码本身运行良好。问题仅出现在前端 UI 中,其中统计信息通过 ajax 动态显示,每次 ajax 调用更新页面上的统计信息时,它还会添加当前用户查看 ajax 支持的 UI 的访问计数。

最佳答案

不知道 PHP,但是在 C# 中,我是这样确定它是否是来自 jQuery 的 AJAX:

if (Request.Headers["X-Requested-With"] == "XMLHttpRequest"){
// this is AJAX
}

因此,如果上述条件为 true,您可以避免更新数据库。我相信您知道 PHP 中的等效内容。

关于javascript - 在Ajax调用中指定User Agent,如何正确执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25423477/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com