当前位置: 首页 > 面试题库 >

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

扈阳辉
2023-03-14
问题内容

在下面的代码中,AngularJS
$http方法调用URL,然后将xsrf对象作为“请求有效负载”提交(如Chrome调试器网络标签中所述)。jQuery
$.ajax方法执行相同的调用,但是将xsrf提交为“表单数据”。

如何使AngularJS将xsrf提交为表单数据而不是请求有效载荷?

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() {}
});

问题答案:

需要将以下行添加到传递的$ http对象中:

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

并且传递的数据应转换为URL编码的字符串:

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

所以你有这样的事情:

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

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



 类似资料:
  • 问题内容: 当我发送AJAX Post请求并在send()方法的queryString中发送参数时, Chrome DeveloperTool的XHR捕获工具显示请求有效负载下的参数。当我使用jquery的post函数时,该工具会在“表单数据”部分下显示参数。 有什么区别 ? 问题答案: 您尚未提供有关如何使用send函数的足够信息,但我假设您未设置mime类型来指定您要发送表单数据 在这种情况下

  • 问题内容: 这是对API调用的原始请求: 该请求返回成功(2xx)响应。 现在,我尝试使用发送此请求: 一切对我来说看起来不错,我不太确定自己张贴的错误是什么导致400响应。 问题答案: 用于GET样式的URL参数,用于POST样式的正文信息。在请求中 同时 提供 两种 类型的信息是完全合法的,您的请求也可以这样做,但是您已经将URL参数编码为URL。 您的原始帖子虽然包含 JSON 数据。可以为

  • 请帮助我在JMeter中以正确的方式发送表单数据post请求。

  • axios请求点击控制器上的url,但将空值设置到POJO类中,当我使用chrome中的开发人员工具时,有效负载包含数据。我做错了什么? Axios POST请求: 浏览器响应: 过帐多部分/表单数据时出错。Content-Type标头缺少边界 谁能解释一下如何设置边界或者我如何使用Axios发送表单数据。

  • 问题内容: 尝试发送json。这是我的功能: 但是,每当我检查Chrome时,它总是将其作为查询参数发送: 如何获取以JSON格式发送的信息? 问题答案: 用 样品: 注意并非所有浏览器(http://caniuse.com/#feat=json)都支持JSON.stringify ,特别是IE7及更低版本的浏览器。 如果您也需要支持此浏览器,则可以使用以下Javascript库:https :

  • 想送Json这是我的功能: 但每当我检查Chrome时,它总是将其作为查询参数发送: 我如何让它作为JSON发送?