Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用表单如何将POST的有效负载作为JSON发送_Javascript_Html_Angularjs_Json - Fatal编程技术网

Javascript 使用表单如何将POST的有效负载作为JSON发送

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}

我使用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}}" hidden>
</form>


Request body
type=Shop&paramValue=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
});