游.程 2012-07-11 22:44 采纳率: 0%
浏览 510
已采纳

如何将数据作为表单数据发布,而不是作为请求的有效载荷?

In the code below, the AngularJS $http method calls the URL, and submits the xsrf object as a "Request Payload" (as described in the Chrome debugger network tab). The jQuery $.ajax method does the same call, but submits xsrf as "Form Data".

How can I make AngularJS submit xsrf as form data instead of a request payload?

var url = 'http://somewhere.com/';
var xsrf = {fkey: 'xsrf key'};

$http({
    method: 'POST',
    url: url,
    data: xsrf
}).success(function () {});

$.ajax({
    type: 'POST',
    url: url,
    data: xsrf,
    dataType: 'json',
    success: function() {}
});

转载于:https://stackoverflow.com/questions/11442632/how-can-i-post-data-as-form-data-instead-of-a-request-payload

  • 写回答

21条回答 默认 最新

  • 衫裤跑路 2012-07-11 23:31
    关注

    The following line needs to be added to the $http object that is passed:

    headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
    

    And the data passed should be converted to a URL-encoded string:

    > $.param({fkey: "key"})
    'fkey=key'
    

    So you have something like:

    $http({
        method: 'POST',
        url: url,
        data: $.param({fkey: "key"}),
        headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
    })
    

    From: https://groups.google.com/forum/#!msg/angular/5nAedJ1LyO0/4Vj_72EZcDsJ

    UPDATE

    To use new services added with AngularJS V1.4, see

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(20条)

报告相同问题?

悬赏问题

  • ¥15 NeRF的代码复现以及人工智能入门
  • ¥15 centos如何做一个可以让ikuai连接的openvpn
  • ¥15 Protege 中的Entities下面的界面删除了如何复原
  • ¥15 scrapy爬虫求帮
  • ¥15 imageEnView绘图问题
  • ¥15 关于#python#的问题:您好可以加您一下联系方式吗,在复现的时候确实有点问题难以解决
  • ¥15 联想电脑重装系统时无法发现硬盘
  • ¥15 MATLAB与UR10e实体机械臂建立通讯
  • ¥15 c++题需要快一点不用opencv
  • ¥15 关于#java#的问题:想要咨询Flowable流程引擎框架的问题