nginx中,前台使用ajax访问接口,传参数到后端接收为null,如何解决呢

如下是nginx的配置

 #前端界面
        location / {  
            root D:/ant-design-pro-master/dist;
            index  index.html index.htm;
        }
        #后端接口
        location ^~ /api/ {
            proxy_pass http://127.0.0.1:8085;
        }

axios传参代码如下

 axios.get(url, { params: { ID: 12345 }, })
    .then((response) => {
      console.log(response);
    })
    .catch((error) => {
      console.log(error);
    });

后台代码如下

 @RequestMapping(value = "${adminPath}/login", method = {RequestMethod.GET, RequestMethod.HEAD})
    public String login(HttpServletRequest request, HttpServletResponse response, Model model) {
        Map m = request.getParameterMap();
        String id = (String) request.getAttribute("ID");

4个回答

以下这三个url要一致,不知道你那都是啥,取参数要用request.getParamter而不是request.getAttribute

 /api/
url
${adminPath}/login

把你的ajax相关代码和后端取参数的代码发上来看看

li101425
一条没有梦想的咸鱼L 666
大约一个月之前 回复
qq_36910947
qq_36910947 放了代码,帮忙看看呗
2 年多之前 回复

axios.get(url 这里的url写错了吧

qq_25048139
快速递丶walnut 你的nginx只有/api/这种格式的url才会转发到你的web应用服务器中去
2 年多之前 回复
qq_25048139
快速递丶walnut 回复qq_36910947: 是相对于Nginx没有错还是相对于你项目访问路径没有错
2 年多之前 回复
qq_36910947
qq_36910947 没有错,我打断点试过了
2 年多之前 回复

request.getParameter("ID");

这样试试。

qq_36910947
qq_36910947 试了,传不过去的
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐