jQuery模擬form表單提交Http請求,並實現跳轉到新視窗開啟頁面
阿新 • • 發佈:2021-01-07
技術標籤:# Javascript
導讀:
一些特殊的應用場景,需要在jquery裡實現對後端的訪問請求,同時在新視窗中開啟頁面。大家可能會第一時間想到以下方法:
1、用window.open(),然後get提交請求,這個當然可以,基本滿足要求,但弊端是會暴露我們的資料,特別是資料比較敏感時,就不建議使用。
2、第一個方法不可行的情況下,大家可能都想到要用ajax,畢竟ajax在請求後端業務方面有天然的優勢,但問題是ajax是互動型的,不會在新視窗中開啟頁面,所以ajax並不符合我們此時的場景需求。
綜合以上分析,我們需要使用另一種方式,也就是模擬form表單,實現post提交,並開啟新視窗。
程式碼如下:
/** *模擬form表單,實現post提交,並開啟新視窗 * url:請求連結 * postData:json格式的post引數 */ function formpost(url, postData) { var tempform = document.createElement("form"); tempform.action = url; tempform.target = "_blank"; tempform.method = "post"; tempform.style.display = "none"; for (var x in postData) { var opt = document.createElement("textarea"); opt.name = x; opt.value = postData[x]; tempform.appendChild(opt); } document.body.appendChild(tempform); tempform.submit(); }
呼叫示例:
//模擬表單post提交,並開啟新視窗
formpost("http://18pay.net/order/debug.html",{'id' :1});