检测是否是 AJAX 请求
Detect if is an AJAX requests
我如何检测请求是否为 AJAX?
会检查
req.Header.Get("X-Requested-With")
适用于所有浏览器?
不幸的是"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'
我如何检测请求是否为 AJAX?
会检查
req.Header.Get("X-Requested-With")
适用于所有浏览器?
不幸的是"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'