【问题标题】:Changing default XMLHTTPRequest which is sending after form submit更改表单提交后发送的默认 XMLHTTPRequest
【发布时间】:2010-06-04 10:33:22
【问题描述】:

我在表单中有一些字段,可以说:

 <FORM action="http://server.com/cgi/handle"
       enctype="multipart/form-data"
       method="post">
   <P>
   What is your name? <INPUT type="text" name="submit-name"><BR>
   What files are you sending? <INPUT type="file" name="files"><BR>
   <INPUT type="submit" value="Send"> <INPUT type="reset">
 </FORM>

并在提交此表单时生成 XMLHTTPrequest,例如:

内容类型:multipart/form-data;边界=AaB03x

   --AaB03x
   Content-Disposition: form-data; name="submit-name"

   Larry
   --AaB03x
   Content-Disposition: form-data; name="files"; filename="file1.txt"
   Content-Type: text/plain

   ... contents of file1.txt ...
   --AaB03x--

我想更改此请求,我需要更改要发送的文件的名称和内容。能做到吗?不是安全问题吗?

【问题讨论】:

  • 欢迎来到 SO。您的示例中在哪里生成了 XMLHTTPReqest?我什么都看不到。

标签: html forms xmlhttprequest


【解决方案1】:

我不确定我是否掌握了这种情况,但我认为您的意思是普通的 POST 请求,而不是特定于 JavaScript 的 XMLHTTPrequest(Ajax 请求基于此方法)。

如果您询问如何修改浏览器在使用multipart/form-data 时向服务器发送的请求,那么我很确定答案是:您不能。这完全超出了网站的控制范围。

我也强烈怀疑是否有基于 JavaScript 的方式来执行此操作,因为您使用的是文件上传。出于安全原因,上传文件的内容不可用于网页,因此您将无法自己对该文件进行编码并使用 XMLHTTPRequest 或任何其他客户端方法发出原始请求。

【讨论】:

    猜你喜欢
    • 2016-05-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 2013-04-15
    • 2018-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多