检测是否是AJAX请求

时间:2015-01-19 16:06:26

标签: ajax go

如果请求是AJAX,我如何检测?

会检查

req.Header.Get("X-Requested-With")

适用于所有浏览器吗?

1 个答案:

答案 0 :(得分:2)

不幸的是,“X-Requested-With”并不总是可靠的。如果您可以控制进行Ajax调用,则可以使用beforeSend函数来确保设置:

$.ajax({
    url: "http://localhost/url",
    data: { signature: authHeader },
    type: "GET",
    beforeSend: function(xhr){xhr.setRequestHeader('X-Requested-With', 'xmlhttprequest');},
    success: function() { alert('Success!' + authHeader); }
});

然后,您可以检查req.Header.Get("X-Requested-With") == 'xmlhttprequest'