xss_callback_arg

该 `xss_callback_arg` 指令指定用于 NGINX 中 JSONP 响应的 JavaScript 回调函数的名称。

语法xss_callback_arg ;
默认值none
上下文http, server, location, if in location
参数1

说明

xss_callback_arg 指令与 xss_get 指令结合使用,以实现用于跨站 AJAX 请求的 JSONP(JSON with Padding)功能。启用时,它通过将响应正文封装在 JavaScript 回调函数中来修改 GET 请求的响应格式。该回调函数的名称由提供给 xss_callback_arg 指令的值确定。

例如,如果设置为 callback,并且对包含参数 callback=process 的 location 发出请求,则响应正文将被格式化为 process(...);,其中 ... 代表原始响应数据。该指令便于 Web 应用中的跨域数据交换,允许不同主机上的脚本安全地相互交互。

要使用此指令,请将其放在适当的上下文(http, server, location, or if in location)中,并指定所需的回调参数名称。如果未定义,该指令默认为 none,这意味着默认行为将应用而不会具有预期的 JSONP 格式,可能导致与客户端对跨域请求的期望不兼容的问题。

配置示例

server {
    location /foo {
        xss_get on;
        xss_callback_arg 'callback';
        xss_input_types 'application/json';
        xss_output_type 'application/x-javascript';
    }
}

确保启用 xss_get,以使 JSONP 正常工作,否则 callback 将不会被执行。

在 callback 名称中使用特殊字符可能导致意外结果;最好只使用字母数字字符。

始终在多个浏览器中测试你的应用程序的响应,以确认 JSONP 正常工作。

← 返回所有指令