[英]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並使用網絡記錄器,以下是實際發生的事件。
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.