【问题标题】:Url Encoding in AngularJS front end with Spring REST backendAngularJS前端与Spring REST后端的Url编码
【发布时间】:2016-12-04 20:26:43
【问题描述】:

快速提问。我有一个 AngularJS 前端与 Spring REST 后端通信。 URL 编码仅对在 url 中传递的编码参数是必需的(对于 application/x-www-form-urlencoded)。我不必担心正文中的编码,对吗?

【问题讨论】:

    标签: angularjs spring rest url url-encoding


    【解决方案1】:

    对于application/x-www-form-urlencoded的内容类型,帖子的正文需要进行uri编码:

    $http({
        url: myUrl,
        method: 'POST',
        data: $httpParamSerializerJQLike(myData),
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded'
        }
    });
    

    或交替:

    var config = {
        transformRequest: $httpParamSerializer,
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded'
        }
    };
    
    $http.post(myUrl, myData, config);
    

    有关详细信息,请参阅:

    【讨论】:

    • 我以为只有传递参数的url才需要关心这个
    • 如果 POST 方法与内容类型 application/json 一起使用,AngularJS 框架会自动将其编码为 JSON。如果内容类型为application/x-www-form-urlencoded,则body需要进行uri编码。
    猜你喜欢
    • 2014-04-12
    • 2019-09-24
    • 2014-07-10
    • 2017-09-06
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    • 2016-04-21
    相关资源
    最近更新 更多