有没有可能通过一次 POST 静态资源请求同时拿回静态资源和请求时携带的请求体参数? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jaredyam
V2EX    NGINX

有没有可能通过一次 POST 静态资源请求同时拿回静态资源和请求时携带的请求体参数?

  •  
  •   jaredyam 2023-06-01 08:26:53 +08:00 2126 次点击
    这是一个创建于 862 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果必须使用 POST 请求静态资源 URL ,如.../static/,有没有可能通过配置 Nginx 在前端同时拿到static/和发送请求的请求体表单参数?

    望大佬解惑!

    12 条回复    2023-06-02 16:05:37 +08:00
    jswh
        1
    jswh  
       2023-06-01 08:39:33 +08:00
    1. 用 add_header ,把 request body 内容加到 header 里面返回
    2. 用 lua
    没试过,但理论上可行
    wolfie
        2
    wolfie  
       2023-06-01 13:39:40 +08:00
    请求方,自己弄丢了参数是吗。
    sanmaozhao
        3
    sanmaozhao  
       2023-06-01 14:05:21 +08:00
    建议把原始需求(或问题)说出来,分析完了可能不需要采用你问的这个方法
    所谓的“X-Y 问题”
    jaredyam
        4
    jaredyam  
    OP
       2023-06-01 16:24:10 +08:00
    @jswh 这样做的前提是请求是自己发的,那如果不是自己发的呢?可以在保证返回静态资源的同时 body 数据拿回浏览器吗?之前尝试通过 header 写在 Cookies 里是可行的,但是后面准备禁用 JS 读 Cookies 的权限,还有什么替代方案吗?
    jaredyam
        5
    jaredyam  
    OP
       2023-06-01 16:26:55 +08:00
    @wolfie 相当于同一页面有两个前端(页面一套,iframe 一套),iframe 的前端想拿页面前端请求的参数?
    jaredyam
    &nsp;   6
    jaredyam  
    OP
       2023-06-01 16:33:00 +08:00
    @sanmaozhao 一个页面里面包含一个 iframe ,页面有一套前端,iframe 有一套前端,页面发送了一个请求静态资源的 P OST 请求,请求体里携带数据,iframe 期望拿到这个请求携带的数据。可以实现吗?有切入的思路吗?
    wolfie
        7
    wolfie  
       2023-06-01 16:51:00 +08:00
    @jaredyam
    xy 问题 +1

    谁请求的,谁处理。这个事件触发 就不在 iframe 里。
    jaredyam
        8
    jaredyam  
    OP
       2023-06-01 16:59:11 +08:00
    @wolfie 但是页面前端请求的是 iframe 的静态资源,也就是在 Nginx 那边是一个配置文件处理的,就是看怎么弄能让页面请求携带的 body 最后让 iframe 前端读到,我也感觉这个问题就不该出现
    sanmaozhao
        9
    sanmaozhao  
       2023-06-01 17:06:01 +08:00
    发 POST 请求的代码,负责把 请求体+响应体 存到 localStorage ,然后 iframe 去读呗
    差不多就是这个思路,发请求的负责整理数据,然后写道能和 iframe 共享数据的地方
    jaredyam
        10
    jaredyam  
    OP
       2023-06-01 17:21:51 +08:00
    @sanmaozhao 主要问题在于这段代码我这边动不了,但是感觉如果可以的话这个思路应该没问题,感谢!
    thinkershare
        11
    thinkershare  
       2023-06-01 17:24:21 +08:00
    @jaredyam iframe 之间又不是不能通讯,直接用 postMessage 通讯不行吗?走后端你请求的资源又不一定是纯文本,如果是纯文本,可以在 nginx 用脚本包一层,但是静态二进制资源你怎么搞?还有响应本身就是 2 部分:body+header(cookie 也在 header 里面), cookie 也可也定向禁用嘛,并需要禁用掉所有 cookie. 你这个方法本质上就有问题。你应该提供更详细的需求场景。
    zanelee
        12
    zanelee  
       2023-06-02 16:05:37 +08:00
    这个东西就算页面和 iframe 是同一个 nginx 的 server ,可是请求是两个吧。要是必须在 nginx 上实现,感觉可以用 lua ,把页面请求的东西到时候先存到共享内存上,再在另一个 iframe 请求上返回的时候从共享内存上取。不知道可不不可行
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4663 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 04:01 PVG 12:01 LAX 21:01 JFK 00:01
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86