Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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中的HTTP表单体_Javascript_Forms_Http_Post - Fatal编程技术网

获取JavaScript中的HTTP表单体

获取JavaScript中的HTTP表单体,javascript,forms,http,post,Javascript,Forms,Http,Post,在Javascript中,是否可以获取提交表单时将发送的结果HTTP请求的HTTP正文的内容 假设我有一个类型为“POST”的表单,其中包含一个文件输入和一些其他输入字段,以及一个属性为“multipart/formdata”的enctype。如果我在未实际提交表单的情况下提交表单,我希望获得请求的逐字HTTP正文以及可能的HTTP头。否。没有公开该信息的API 您可以尝试手动构造请求,但无法让浏览器为您准备请求。您可以使用Response、Response.body.getReader这一可读

在Javascript中,是否可以获取提交表单时将发送的结果HTTP请求的HTTP正文的内容


假设我有一个类型为“POST”的表单,其中包含一个文件输入和一些其他输入字段,以及一个属性为“multipart/formdata”的enctype。如果我在未实际提交表单的情况下提交表单,我希望获得请求的逐字HTTP正文以及可能的HTTP头。

否。没有公开该信息的API

您可以尝试手动构造请求,但无法让浏览器为您准备请求。

您可以使用Response、Response.body.getReader这一可读流来读取FormData对象的内容。使用TextDecoder将Uint8Array转换为可读文本。注意,不能从同一响应对象读取流和头。尽管您可以从相同的输入数据和读取头创建新的响应对象

var form=document.querySelectorform; form.onsubmit=e=>{ e、 防止违约; var formData=新formData; var输入=e.target.queryselector输入; formData.appendfile,input.files[0],input.files[0]。名称; var响应=新响应FormData; var stream=response.body; var reader=stream.getReader; var解码器=新的文本解码器; 读 .Then函数processDataresult{ 如果结果完成了{ console.logstream完成; 回来 } var数据=decoder.decodesult.value; 控制台日志数据; 返回reader.read.thenprocessData; } 凯瑟先生{ console.logcatch流取消:,错误; }; reader.closed.then函数{ console.logstream关闭; }; }
从逻辑上讲,不做某事是不可能的。您可以通过在DevTools中检索请求的.har表示形式来执行某些操作。也可以获取FormDatadata@guest271314不提交表格是不可能的。@Danfrom Germany是的。您可以创建响应对象并读取Response.body。请参见@guest271314中删除的内容-har表示仅在提交后可用,而在假定的网页中运行的上下文中,JavaScript不可用。您提到的已删除答案不涉及请求的创建。@Quentin相信OP正在试图读取@user3700562发布的内容。另请参见,plnkr注意,在Firefox上用response.text替换stream.getReader,后者不支持ReadableStream