javascript - 告诉 Symfony 的 Request 某些 ajax 请求(jquery 的 $.get(path, cb) 请求)是 "X-Requested-With"等于 "XMLHttpRequest"的请求?

标签 javascript php jquery ajax symfony

我有一个使用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/

相关文章:

javascript - 如何在 html 中悬停时更改 li 元素的颜色?

javascript - 提交后依赖选择标签被清除

php session.use_trans_sid

javascript - 检查后将列表元素移动到顶部

javascript - 从给定的最后一个特定关键字分割字符串

javascript - 在 vuejs 或 javascript 中使用带有此关键字的字符串

php - zend 表单验证

jquery - 使用 div 类时如何让自动滚动到 div 的底部工作

javascript - 点击时模态未打开(materialize、jquery)

javascript,在开始颜色和结束颜色之间选择一个随机的十六进制颜色