Xây dựng trên các câu trả lời khác!
Phiên bản gỡ lỗi của mã, cộng với dọn dẹp VÀ jsbeautifier.org/.
(function() {
var ThisAction = 'https://your.urlgoes.here/build?delay=0sec';
/* A little JSON never hurt anyone */
var ThisPost = {
name: 'ENVIRONMENT',
value: 'production',
name: 'DEPLOYTYPE',
value: 'Incremental',
name: 'BRANCH',
value: 'master',
statusCode: '303',
redirectTo: '.',
json: '{"parameter": [{"name": "ENVIRONMENT", "value": "production"}, {"name": "DEPLOYTYPE", "value": "Incremental"}, {"name": "BRANCH", "value": "master"}], "statusCode": "303", "redirectTo": "."}',
Submit: 'Build'
};
/* Help us locate this function */
console.trace();
/* See what we are looking at */
console.log(document);
var form = document.getElementsByTagName('form')[0];
form.style.visibility = 'hidden';
form.method = 'post';
form.action = ThisAction;
for (var key in ThisPost) {
if (ThisPost.hasOwnProperty(key)) {
input = document.createElement('input');
input.name = key;
input.value = ThisPost[key];
form.appendChild(input);
}
}
/* form.submit(); */
})();
Rõ ràng là không có html tương ứng, phần tử có tên thẻ 'mẫu' có thể không tồn tại ... và mọi thứ sẽ tệ hơn nếu có. Những điều trên chứng tỏ điều này tốt. Lưu ý rằng trong javascript: URI / Dấu trang không hoạt động trong tab mới, trước tiên bạn phải điều hướng một lần. Điều này cư trú đối tượng tài liệu, nhưng thậm chí chỉ là một javascript: alert ('t'); Không lam gi cả.
Tôi đề nghị như sau.
(function() {
var ThisAction = 'https://your.urlgoes.here/build?optional=uri_get';
/* A little JSON never hurt anyone */
var ThisPost = {
multiple: 'value',
key: 'pairs',
or: 'JSON like so...',
note: 'the double quotes and last item with NO trailing comma.',
json: '{parameter: [{name: "stuff"}]}'
};
var form = document.createElement('form');
form.style.visibility = 'hidden';
form.method = 'post';
form.action = ThisAction;
for (var key in ThisPost) {
if (ThisPost.hasOwnProperty(key)) {
var input = document.createElement('input');
input.name = key;
input.value = ThisPost[key];
form.appendChild(input);
}
}
document.body.appendChild(form);
form.submit();
})();
Xóa cài đặt gỡ lỗi, dọn sạch đầu vào ví dụ để rõ ràng hơn về những gì được mong đợi. Chạy qua http://jscompress.com/ hoặc bất cứ điều gì và nhận được một dòng duy nhất.
!function(){var e="https://your.urlgoes.here/build?optional=uri_get",t={multiple:"value",key:"pairs",or:"JSON like so...",note:"the double quotes and last item with NO trailing comma.",json:'{parameter: [{name: "stuff"}]}'},i=document.createElement("form");i.style.visibility="hidden",i.method="post",i.action=e;for(var o in t)if(t.hasOwnProperty(o)){var a=document.createElement("input");a.name=o,a.value=t[o],i.appendChild(a)}document.body.appendChild(i),i.submit()}();
Chỉnh sửa: Cung cấp một ví dụ làm việc.
Tại Minneapolis, MN, Hoa Kỳ sử dụng điều này để truy cập WiFi miễn phí ESSID "USIW WiFi miễn phí". Sau khi sử dụng https://login.usiwpered.com/mplsfree/logon.php?origenurl=www.google.com/ để đăng ký tài khoản, họ muốn có thẻ tín dụng vì lý do lạm dụng.
Sử dụng điều này để đăng nhập vào mạng, với sự thay thế rõ ràng.
javascript:!function(){var e="https://login.usiwireless.com/mplsfree/logon.pl",o={usernameLogin:"USER",passwordLogin:"PASSWORD",originalurl:"www.google.com/"},n=document.createElement("form");n.style.visibility="hidden",n.method="post",n.action=e;for(var i in o)if(o.hasOwnProperty(i)){var t=document.createElement("input");t.name=i,t.value=o[i],n.appendChild(t)}document.body.appendChild(n),n.submit()}();