簡體   English   中英

HTTP請求POST AJAX(JS)提交表單

[英]HTTP Request POST AJAX(JS) Submit Form

我試圖從VBA中的IE自動化改為httprequest,當嘗試使用像function()這樣的onclick動作提交表單數據時遇到了一些問題。 問題是當onclick()表單數據被提交到同一域下的另一個URL時。

恩。 當我在chrome調試器上跟蹤時,我正在查看網頁www.test.com/asp.net?186848,post方法實際上是將數據提交到www.test.com/component/mxAjaxFunctions.cfc?method=init&ajaxcallid=5498_15544XXXXXXX

摘要

1.使用按鈕提交的網站上的表格是一個onclick函數()

2.form提交到不同的URL,通過表單提交的ID是包含在原始URL中的ID。

3.新URL的一部分包含隨機生成的ID +日期

最初我在vba中使用了以下httprequest來獲取數據,但它不起作用,響應返回相同的內容。

然后我去google chrome並使用網絡記錄器,以下是實際發生的事件。

  1. 表單數據提交到我正在查看的不同的URL。 www.test.com/component/mxAjaxFunctions.cfc?method=init&ajaxcallid=5498_15544XXXXXXX稍后我通過讀取來自chrome的.JS文件找到了ajaxcallid是隨機數后的5498而15544XXX實際上是來自js的date.now()

2. chrome提交的表單數據如下:

方法:init

功能:有些功能

id:123456

statuscontent:我放在文本框中的實際內容

我嘗試使用不起作用的不同URL修改發布請求,並且我嘗試從chrome復制並粘貼表單數據並且它不起作用,我也嘗試將post的方法更改為init也工作。

objHTTP.Open "POST", originalURL, False
objHTTP.setRequestHeader "Content-type",  "application/x-www-form- 
urlencoded"
objHTTP.send("form data")

試着

objHTTP.Open "POST", newURL, False
objHTTP.setRequestHeader "Content-type",  "application/x-www-form-                
urlencoded"
objHTTP.send("form data")

沒用

試着

objHTTP.Open "INIT", newURL, False
objHTTP.setRequestHeader "Content-type",  "application/x-www-form-    
urlencoded"
objHTTP.send("form data")

沒用

試着

objHTTP.Open "INIT", newURL, False
objHTTP.setRequestHeader "Content-type",  "application/x-www-form-    
urlencoded"
objHTTP.send("form data copy from chrome")

沒用

試着

objHTTP.Open "INIT", originalURL, False
objHTTP.setRequestHeader "Content-type",  "application/x-www-form- 
urlencoded"
objHTTP.send("form data copy from chrome")

沒用

我已經明白了。 以下是我為使這個httprequest帖子發揮作用所做的工作。

我想第一次不起作用的是我直接復制了url,而不是使用復制的url,我生成了一個隨機數+自unix日期起經過的毫秒,就像js在網頁上所做的那樣。 我能夠發布數據,這是我從谷歌瀏覽器中復制的相同字符串。

getunixtime = DateDiff("s", "01/01/1970 00:00:00", Now()) & Right(Timer * 
100, 3)
URL = www.test.com/component/mxAjaxFunctions.cfc? 
method=init&ajaxcallid="& cint(rnd*10001) & "_"& getunixtime


objHTTP.Open "POST", URL, False
objHTTP.setRequestHeader "Content-type",  "application/x-www-form-    
urlencoded"
objHTTP.send("form data copy from chrome")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM