首页 > 解决方案 > 有没有办法用 React 返回纯文本响应,根本不包含 HTML?

问题描述

我需要能够返回一个有效的 JSON 响应,而没有 HTML 包装它。我可以通过指定一个直接指向我的 Express 后端的端口号来实现这一点,但需要能够返回纯 JSON,而不必在生产中指定端口号。如果您同时使用 React/React-Router 和 Express,有什么办法可以做到这一点?

此设置使用代理通行证来工作:

server {
    listen 80;
    listen [::]:80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:5000;
    }
}

当前输出:https ://socialmaya.com/u/real (1)

期望的输出:http ://socialmaya.com:5000/actors/real (2)

所以我需要 1 的输出与 2 完全相同,以确保另一台服务器可以读取它。如果您单击查看两者的页面源,您可以看到输出不一样。

标签: node.jsreactjsexpressnginxreact-router

解决方案


根据 Richard Smith,在 Nginx 中向上游传递 URL 之前重写 URL 解决了我的问题:

location / {
    rewrite ^/u/(.*)$ /actors/$1 last;
    proxy_pass http://localhost:5000;
}

推荐阅读