我有一个使用jquery完成的'ajax请求,以及一个Symfony2 Controller ,它使用json(如果理解这是一个'ajax请求)或响应(如果不理解)来响应此请求。
Ajax 请求:
$.get('path/to/bla/bla/', function () {
// do something ...
})
Symfony 的操作
use Symfony\Component\HttpFoundation\Request;
class FooController {
public function barAction(Request $request) {
if($request->isXmlHttpRequest()) {
// json response
} else {
// normal response
}
}
}
我可以将 jquery $.get 的 header “X-Requested-With”修复为 XMLHttpRequest 吗?
HttpFoundation/Request::isXmlHttpRequest() {
return 'XMLHttpRequest' == $this->headers->get('X-Requested-With');
}
最佳答案
是的,您可以使用 $.ajaxSetup 更改 X-Requested-With
的默认 header
选项。
$.ajaxSetup({
headers: {
'X-Requested-With': 'XMLHttpRequest'
}
});
但请注意,XMLHttpRequest 已经是默认设置。
如果您尝试对 JSONP 请求执行此操作,那根本不可能。
关于javascript - 告诉 Symfony 的 Request 某些 ajax 请求(jquery 的 $.get(path, cb) 请求)是 "X-Requested-With"等于 "XMLHttpRequest"的请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24681291/