2010-06-04 58 views
0

我在形式上一些領域,讓說:該表格後發送更改默認的XMLHTTPRequest提交

<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的產生,例如:

的Content-Type:多部分/格式的數據; border = 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-- 

我想改變這個請求,我需要改變發送文件的名稱和內容。它可以完成嗎?這不是安全問題嗎?

+0

歡迎來到SO。你的例子中生成的XMLHTTPReqest在哪裏?我看不到任何東西。 – 2010-06-04 10:34:43

回答

1

我不確定我是否掌握了這種情況,但我認爲你的意思是一個普通的POST請求,而不是一個特定於JavaScript的XMLHTTPrequest(Ajax請求基於此方法)。

如果您在詢問如何修改瀏覽器在使用multipart/form-data時發送給服務器的請求,那麼我很確定答案是:您不能。這完全超出了現場的控制範圍。

我也強烈懷疑有一種基於JavaScript的方式,因爲您正在使用文件上傳。由於安全原因,上傳文件的內容不可用於網頁,因此您將無法自己編碼該文件並使用XMLHTTPRequest或任何其他客戶端方法進行原始請求。