Skip to content

Angular中的POST请求传递参数,服务端接收不到参数的解决方法 #1

@heightzhang

Description

@heightzhang

原因

image
可以发现传参方式是request payload,参数格式是json,而并非用的是form传参,所以在后台用接收form数据的方式接收参数就接收不到了
  POST表单请求提交时,使用的Content-Type是application/x-www-form-urlencoded,
而此处的Content-Type是:
image

解决

增添两段代码

解决代码如下;

$http({
            method: 'post',
            url: 'http://localhost:8081/search',
            data: {
                "page": page,
                "pageNum": pageNum
            },
           headers: {  //1.设置类型
                'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
            },
            transformRequest: function(obj) { //2.处理传递参数的格式
                var str = [];
                for (var p in obj) {
                    str.push(encodeURIComponent(p)+"="+encodeURIComponent(obj[p]))
                }
                return str.join('&')
            }
        }).then(function(data) {
   
        }, function(err) {

        });

现在的谷歌监视为:
image

现在传参方式就变成form方式了,然后后端就可以正常接收参数了!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions