به عنوان مثال این کد رو در نظر بگیرید:
<html>
<head>
</head>
<body>
<script>
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
(function () {
var jsondata = getParameterByName("data");
var obj = JSON.parse(jsondata);
var form = document.createElement("form");
form.setAttribute("method", "POST");
form.setAttribute("target", "_self");
form.setAttribute("action", getParameterByName("url"));
var len = count = Object.keys(obj).length;
for (var key in obj) {
var hiddenField1 = document.createElement("input");
hiddenField1.setAttribute("name", key);
hiddenField1.setAttribute("value", obj[key]);
form.appendChild(hiddenField1);
}
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
})();
</script>
</body>
کاری که می کنه این هست که دو پارامتر از Query String میخونه:
- url: همون آدرسی که باید اطلاعات بهش POST بشه
- data: اطلاعاتی که باید پست بشن به فرمت JSON String
این اطلاعات رو میخونه و بعد یک Form درست می کنه، که action رو برابر مقدار url قرار میده و به ازای هر کلید در JSON Object یک input درست می کنه.
نهایتاً هم این فرم رو Submit می کنه.
به این روش میشه اطلاعات رو به هر صفحه ای پست کرد
کافیه یه فایل با این محتویات ساخته بشه و جایی آپلود بشه، و بعد اطلاعات برای این پیج ارسال بشه.
مثلاً:
http://your-site.com/poster.html?url=http://bpm.shaparak.ir&data={"RefId":"AFGFGSHHHS64456555G SG"}