Javascript 使用表单如何将POST的有效负载作为JSON发送
我使用HTML下载xlsx,pdf文件使用POST调用。 我正在使用下面的代码发送我的有效负载,但它是以url格式发送的Javascript 使用表单如何将POST的有效负载作为JSON发送,javascript,html,angularjs,json,Javascript,Html,Angularjs,Json,我使用HTML下载xlsx,pdf文件使用POST调用。 我正在使用下面的代码发送我的有效负载,但它是以url格式发送的 <form method="post" action="{{url}}" enctype='application/json'> <input type="text" name="type" value="{{type}}" hidden> <input type="text" name="paramValue" value="{{value}
<form method="post" action="{{url}}" enctype='application/json'>
<input type="text" name="type" value="{{type}}" hidden>
<input type="text" name="paramValue" value="{{value}}" hidden>
</form>
Request body
type=Shop¶mValue=Kumar
如果在HTML中使用表单,请建议如何将数据作为JSON传递 Form
enctype
属性不支持application/json
,如图所示
您需要手动对数据进行json编码,以便与post请求一起使用,或者使用默认情况下发布json的$http
服务:
var data = { type: $scope.form.type, value: $scope.form.value };
$http.post(url, data) // default content-type is 'application/json' for $http.post
.success(function(data, status) {
//yay
});
使用$http这是一个单独的角度调用,我不能将它与表单操作一起使用,因为它需要用$http传递url,但我需要在表单和操作中构造JSON。请建议如何做到这一点。你不能用简单的形式做到这一点。您需要JavaScript序列化为Json并设置请求头内容类型。也就是说,您可以使用onsubmit或onclick with angular来调用控制器或使用jquery,但使用普通HTML表单是不可能的
var data = { type: $scope.form.type, value: $scope.form.value };
$http.post(url, data) // default content-type is 'application/json' for $http.post
.success(function(data, status) {
//yay
});