Prašymas siųsti javascript, kaip pateikti formą

Bandau nukreipti naršyklę į kitą puslapį. Jei norėčiau gauti GET užklausą, galėčiau pasakyti

 document.location.href = 'http://example.com/q=a'; 

Tačiau ištekliai, kuriuos bandau gauti, nebus tinkamai atsakyti, jei nenaudosiu POST užklausos. Jei jis nebūtų sukurtas dinamiškai, galėčiau naudoti HTML

 <form action="http://example.com/" method="POST"> <input type="hidden" name="q" value="a"> </form> 

Tada aš tiesiog atsiunsiu formą iš DOM.

Bet iš tikrųjų norėčiau, kad JavaScript leistų man pasakyti

 post_to_url('http://example.com/', {'q':'a'}); 

Kas yra geriausias kryžminio naršyklės įgyvendinimas?

Keisti

Atsiprašau, kad nesu aišku. Man reikia sprendimo, kuris pakeistų naršyklės vietą ir siunčia formą. Jei tai įmanoma naudojant XMLHttpRequest , tai nėra akivaizdu. Ir tai neturėtų būti asinchroninis ir nenaudoti XML, todėl Ajax nėra atsakymas.

1347
25 сент. liepos 25 d. 2008-09-25 18:15 '08 18:15 pm 2008-09-25 18:15
@ 28 atsakymai
   function post(path, params, method) { method = method || "post"; // Set method to post by default if not specified. // The rest of this code assumes you are not using a library. // It can be made less wordy if you use one. var form = document.createElement("form"); form.setAttribute("method", method); form.setAttribute("action", path); for(var key in params) { if(params.hasOwnProperty(key)) { var hiddenField = document.createElement("input"); hiddenField.setAttribute("type", "hidden"); hiddenField.setAttribute("name", key); hiddenField.setAttribute("value", params[key]); form.appendChild(hiddenField); } } document.body.appendChild(form); form.submit(); } 

Pavyzdys:

 post('/contact/', {name: 'Johnny Bravo'}); 

EDIT : Kadangi daugelis balsavo už, manau, kad žmonės jį daug nukopijuos. Todėl, norėdamas ištaisyti bet kokias hasOwnProperty klaidas, hasOwnProperty patikrinimą „ hasOwnProperty .

1928 m
25 сент. Atsakymą pateikė Rakesh Pai . 2008-09-25 18:28 '08, 18:28, 2008-09-25 18:28

Tai bus pasirinkto atsakymo versija, naudojant jQuery .

border=0
 // Post to the provided URL with the specified parameters. function post(path, parameters) { var form = $('<form></form>'); form.attr("method", "post"); form.attr("action", path); $.each(parameters, function(key, value) { var field = $('<input></input>'); field.attr("type", "hidden"); field.attr("name", key); field.attr("value", value); form.append(field); }); // The form needs to be a part of the document in // order for us to be able to submit it. $(document.body).append(form); form.submit(); } 
111
04 апр. atsakymą pateikė Ryan Delucchi 04 balandžio. 2011-04-04 03:21 '11 at 3:21 2011-04-04 03:21

Paprastas greitas ir purvinas @Aaron atsakymas:

 document.body.innerHTML += '<form id="dynForm" action="http://example.com/" method="post"><input type="hidden" name="q" value="a"></form>'; document.getElementById("dynForm").submit(); 

Žinoma, geriau naudoti „JavaScript“ infrastruktūrą, pvz., „ Prototype“ arba „ jQuery“ .

63
25 сент. Atsakymas, pateiktas Alexandre Victoor, rugsėjo 25 d 2008-09-25 18:33 '08 at 18:33 2008-09-25 18:33

Naudojant šiame createElement pateiktą „ createElement funkciją, kuri yra būtina, nes IE pažeidžiami elementai, sukurti paprastai naudojant document.createElement :

 function postToURL(url, values) { values = values || {}; var form = createElement("form", {action: url, method: "POST", style: "display: none"}); for (var property in values) { if (values.hasOwnProperty(property)) { var value = values[property]; if (value instanceof Array) { for (var i = 0, l = value.length; i < l; i++) { form.appendChild(createElement("input", {type: "hidden", name: property, value: value[i]})); } } else { form.appendChild(createElement("input", {type: "hidden", name: property, value: value})); } } } document.body.appendChild(form); form.submit(); document.body.removeChild(form); } 
50
25 сент. Atsakymą pateikė Jonny Buchanan . 2008-09-25 18:29 '08, 18:29, 2008-09-25 18:29

„Rakesh Pai“ atsakymas yra stulbinantis, bet man kyla problema („ Safari“ ), kai bandau paskelbti formą su lauku, kurį norite submit . Pavyzdžiui, post_to_url("http://google.com/",{ submit: "submit" } ); , Aš šiek tiek pataisiau funkciją, kad galėčiau apeiti šį susidūrimą su kintama erdvė.

  function post_to_url(path, params, method) { method = method || "post"; var form = document.createElement("form"); //Move the submit function to another variable //so that it doesn't get overwritten. form._submit_function_ = form.submit; form.setAttribute("method", method); form.setAttribute("action", path); for(var key in params) { var hiddenField = document.createElement("input"); hiddenField.setAttribute("type", "hidden"); hiddenField.setAttribute("name", key); hiddenField.setAttribute("value", params[key]); form.appendChild(hiddenField); } document.body.appendChild(form); form._submit_function_(); //Call the renamed function. } post_to_url("http://google.com/", { submit: "submit" } ); //Works! 
34
15 июля '10 в 23:50 2010-07-15 23:50 atsakė Kendall Hopkins'ui liepos 10 d., 23:50, 2010-07-15 23:50

Ne, jums gali nebūti užklausos siųsti „JavaScript“, kaip pateikti formą.

Ką galite turėti HTML forma ir tada ją pateikti naudodami javascript. (kaip pakartotinai paaiškinta šiame puslapyje)

Galite sukurti savo HTML, jums nereikia JavaScript, kad galėtumėte rašyti HTML. Būtų kvaila, jei žmonės jį siūlytų.

 <form id="ninja" action="http://example.com/" method="POST"> <input id="donaldduck" type="hidden" name="q" value="a"> </form> 

Jūsų funkcija paprasčiausiai pritaikys formą taip, kaip norite.

 function postToURL(a,b,c){ document.getElementById("ninja").action = a; document.getElementById("donaldduck").name = b; document.getElementById("donaldduck").value = c; document.getElementById("ninja").submit(); } 

Tada naudokite jį kaip.

 postToURL("http://example.com/","q","a"); 

Bet aš tiesiog atsisakysiu funkcijos ir tiesiog tai padarysiu.

  document.getElementById('donaldduck').value = "a"; document.getElementById("ninja").submit(); 

Galiausiai stiliaus sprendimas yra įtrauktas į ccs failą.

 .ninja{ display:none; } 

Asmeniškai manau, kad formos turėtų būti sprendžiamos pagal pavadinimą, bet dabar tai nėra svarbu.

26
19 авг. gaby de wilde atsakymas 19 rug. 2013-08-19 04:00 '13, 4:00, 2013-08-19 04:00

Jei įdiegėte „ Prototype“ , galite sukurti kodą, kad sukurtumėte ir išsiųstumėte paslėptą formą taip:

  var form = new Element('form', {method: 'post', action: 'http://example.com/'}); form.insert(new Element('input', {name: 'q', value: 'a', type: 'hidden'})); $(document.body).insert(form); form.submit(); 
23
24 янв. Atsakymas suteiktas Vadovas Jan 24 2009-01-24 02:53 '09, 2:53 am 2009-01-24 02:53

tai yra rakesh atsakymas, bet su masyvų palaikymu (tai yra gana paplitusi formose):

paprastas javascript:

 function post_to_url(path, params, method) { method = method || "post"; // Set method to post by default, if not specified. // The rest of this code assumes you are not using a library. // It can be made less wordy if you use one. var form = document.createElement("form"); form.setAttribute("method", method); form.setAttribute("action", path); var addField = function( key, value ){ var hiddenField = document.createElement("input"); hiddenField.setAttribute("type", "hidden"); hiddenField.setAttribute("name", key); hiddenField.setAttribute("value", value ); form.appendChild(hiddenField); }; for(var key in params) { if(params.hasOwnProperty(key)) { if( params[key] instanceof Array ){ for(var i = 0; i < params[key].length; i++){ addField( key, params[key][i] ) } } else{ addField( key, params[key] ); } } } document.body.appendChild(form); form.submit(); } 

oh, ir čia yra „jquery“ versija: (šiek tiek kitoks kodas, bet jis patenka į tą patį dalyką)

 function post_to_url(path, params, method) { method = method || "post"; // Set method to post by default, if not specified. var form = $(document.createElement( "form" )) .attr( {"method": method, "action": path} ); $.each( params, function(key,value){ $.each( value instanceof Array? value : [value], function(i,val){ $(document.createElement("input")) .attr({ "type": "hidden", "name": key, "value": val }) .appendTo( form ); }); } ); form.appendTo( document.body ).submit(); } 
20
22 марта '12 в 4:41 2012-03-22 04:41 atsakymas pateikiamas kritzikratzi kovo 22 d., 12 val. 4:41 2012-03-22 04:41

Na, aš norėjau perskaityti visus kitus pranešimus, taigi aš nenorėjau išgelbėti laiko kuriant ją iš Rakesh Pai atsakymo. Čia yra rekursinis sprendimas, kuris veikia su matricomis ir objektais. Nėra priklausomybės nuo jQuery.

Pridėta segmentas, skirtas tvarkyti atvejus, kai visa forma turėtų būti pateikta kaip masyvas. (Ty kai elementų sąraše nėra apvalkalo objekto)

  function postToUrl(path, data, options) { if (options === undefined) { options = {}; } var method = options.method || "post"; // Set method to post by default if not specified. var form = document.createElement("form"); form.setAttribute("method", method); form.setAttribute("action", path); function constructElements(item, parentString) { for (var key in item) { if (item.hasOwnProperty(key)  item[key] != null) { if (Object.prototype.toString.call(item[key]) === '[object Array]') { for (var i = 0; i < item[key].length; i++) { constructElements(item[key][i], parentString + key + "[" + i + "]."); } } else if (Object.prototype.toString.call(item[key]) === '[object Object]') { constructElements(item[key], parentString + key + "."); } else { var hiddenField = document.createElement("input"); hiddenField.setAttribute("type", "hidden"); hiddenField.setAttribute("name", parentString + key); hiddenField.setAttribute("value", item[key]); form.appendChild(hiddenField); } } } } //if the parent 'data' object is an array we need to treat it a little differently if (Object.prototype.toString.call(data) === '[object Array]') { if (options.arrayName === undefined) console.warn("Posting array-type to url will doubtfully work without an arrayName defined in options."); //loop through each array item at the parent level for (var i = 0; i < data.length; i++) { constructElements(data[i], (options.arrayName || "") + "[" + i + "]."); } } else { //otherwise treat it normally constructElements(data, ""); } document.body.appendChild(form); form.submit(); }; 
15
28 янв. atsakymas duotas emragins 28 sausis 2014-01-28 00:25 '14 ne 0:25 2014-01-28 00:25

Vienas iš sprendimų yra sukurti formą ir ją pateikti. Vienas įgyvendinimas yra

 function post_to_url(url, params) { var form = document.createElement('form'); form.action = url; form.method = 'POST'; for (var i in params) { if (params.hasOwnProperty(i)) { var input = document.createElement('input'); input.type = 'hidden'; input.name = i; input.value = params[i]; form.appendChild(input); } } form.submit(); } 

Taigi, aš galiu įdiegti žymės URL paprastu

 javascript:post_to_url('http://is.gd/create.php', {'URL': location.href}); 
14
25 сент. Joseph Holsten atsakymas rugsėjo 25 d 2008-09-25 19:05 '08 at 7:05 pm 2008-09-25 19:05

Čia pateikiamos trys parinktys.

  1. Standartinis „JavaScript“ atsakymas: naudokite sistemą! Dauguma „Ajax“ sistemų padės jums lengvai atlikti XMLHTTPRequest POST.

  2. Atlikite XMLHTTPRequest užklausą, perduodami pranešimą viešam metodui, o ne gauti. (Papildoma informacija apie POST metodo naudojimą XMLHTTPRequest (Ajax) .)

  3. Naudodami „JavaScript“, dinamiškai sukurkite formą, pridėkite veiksmą, pridėkite duomenis ir pateikite juos.

11
25 сент. Atsakymą pateikė Alanas Stormas 25 sep. 2008-09-25 18:26 '08 18:26 pm 2008-09-25 18:26

Taip aš parašiau jį su jQuery. Išbandyta „Firefox“ ir „Internet Explorer“.

 function postToUrl(url, params, newWindow) { var form = $('<form>'); form.attr('action', url); form.attr('method', 'POST'); if(newWindow){ form.attr('target', '_blank'); } var addParam = function(paramName, paramValue) { var input = $('<input type="hidden">'); input.attr({ 'id': paramName, 'name': paramName, 'value': paramValue }); form.append(input); }; // Params is an Array. if(params instanceof Array){ for(var i=0; i<params.length; i++) { addParam(i, params[i]); } } // Params is an Associative array or Object. if(params instanceof Object) { for(var key in params){ addParam(key, params[key]); } } // Submit the form, then remove it from the page form.appendTo(document.body); form.submit(); form.remove(); } 
10
22 сент. Atsakymas duotas beauburrier 22 sep . 2010-09-22 00:22 '10 - 0:22 2010-09-22 00:22

Aš einu žemyn Ajax maršrutu, kaip kiti pasiūlė kažką panašaus:

 var xmlHttpReq = false; var self = this; // Mozilla/Safari if (window.XMLHttpRequest) { self.xmlHttpReq = new XMLHttpRequest(); } // IE else if (window.ActiveXObject) { self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); } self.xmlHttpReq.open("POST", "YourPageHere.asp", true); self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); self.xmlHttpReq.setRequestHeader("Content-length", QueryString.length); self.xmlHttpReq.send("?YourQueryString=Value"); 
9
25 сент. atsakymas duotas Katy 25 sep. 2008-09-25 18:39 '08, 18:39, 2008-09-25 18:39

Lengviausias būdas yra naudoti „Ajax Post“ užklausą:

 $.ajax({ type: "POST", url: 'http://www.myrestserver.com/api', data: data, success: success, dataType: dataType }); 

kur:

  • duomenys yra objektas
  • dataType yra duomenys, kuriuos tikisi serveris (xml, json, scenarijus, tekstas, html)
  • URL yra jūsų RESt serverio adresas arba bet kokia serverio pusėje esanti funkcija, kuri priima HTTP-POST.

Tada sėkmės tvarkytoju jis nukreipia naršyklę į kažką panašaus į >

6
10 сент. Atsakymą pateikė JLavoie 10 rugsėjis 2013-09-10 23:22 '13, 23:22 pm 2013-09-10 23:22

Prototipų bibliotekoje yra Hashtable objektas su ".toQueryString ()" metodu, kuris leidžia lengvai įjungti JavaScript objektą / struktūrą į užklausos eilutės stiliaus eilutę. Kadangi leidyba reikalauja, kad užklausos „kūnas“ būtų eilutė užklausos eilutės formatu, tai leidžia „Ajax“ užklausai tinkamai veikti kaip pranešimą. Čia yra pavyzdys, kaip naudoti Prototype:

 $req = new Ajax.Request("http://foo.com/bar.php",{ method: 'post', parameters: $H({ name: 'Diodeus', question: 'JavaScript posts a request like a form request', ... }).toQueryString(); }; 
5
25 сент. atsakymą pateikė Adam Ness 25 sep. 2008-09-25 18:28 '08, 18:28, 2008-09-25 18:28

Tai puikiai veikia mano atveju:

 document.getElementById("form1").submit(); 

Ją galite naudoti funkcijoje:

 function formSubmit() { document.getElementById("frmUserList").submit(); } 

Naudodami tai galite skelbti visas įvesties reikšmes.

3
29 марта '13 в 16:41 2013-03-29 16:41 atsakymas pateikiamas ChintanThummar kovo 29 d. 13 d. 16:41 2013-03-29 16:41

Kitas sprendimas yra rekursinis , nes kai kurie iš kitų, atrodo, yra sulaužyti (aš ne visus juos išbandžiau). Tai priklauso nuo 3.x ir ES6 (jQuery nereikia):

 function createHiddenInput(name, value) { let input = document.createElement('input'); input.setAttribute('type','hidden'); input.setAttribute('name',name); input.setAttribute('value',value); return input; } function appendInput(form, name, value) { if(_.isArray(value)) { _.each(value, (v,i) => { appendInput(form, `${name}[${i}]`, v); }); } else if(_.isObject(value)) { _.forOwn(value, (v,p) => { appendInput(form, `${name}[${p}]`, v); }); } else { form.appendChild(createHiddenInput(name, value)); } } function postToUrl(url, data) { let form = document.createElement('form'); form.setAttribute('method', 'post'); form.setAttribute('action', url); _.forOwn(data, (value, name) => { appendInput(form, name, value); }); form.submit(); } 
2
11 мая '16 в 21:57 2016-05-11 21:57 atsakymas pateikiamas 11 gegužės 16 d. 21:57 2016-05-11 21:57

Tai panaši į „Alan“ 2 variantą (žr. Aukščiau). Kaip sukurti „httpobj“ egzempliorių, lieka kaip pratimas.

 httpobj.open("POST", url, true); httpobj.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); httpobj.onreadystatechange=handler; httpobj.send(post); 
1
25 сент. atsakymą pateikė R. Van Hoose 25 sep. 2008-09-25 18:40 '08 18:40 pm 2008-09-25 18:40

Mano sprendimas bus koduojamas giliai įdėtus objektus, skirtingai nei šiuo metu priimtas @RakehPai sprendimas.

Ji naudoja qs npm biblioteką ir styginių funkciją, kad įdėtus objektus paverstų parametrais.

Šis kodas veikia gerai su „Rails backend“, nors turėtumėte keisti jį, kad galėtumėte dirbti su bet kuriuo reikiamu „backend“, pakeisdami į griežtus parametrus. Rails reikalauja masyvoFormat, kuris turi būti nustatytas skliausteliuose.

 import qs from "qs" function normalPost(url, params) { var form = document.createElement("form"); form.setAttribute("method", "POST"); form.setAttribute("action", url); const keyValues = qs .stringify(params, { arrayFormat: "brackets", encode: false }) .split(" .map(field => field.split("=")); keyValues.forEach(field => { var key = field[0]; var value = field[1]; var hiddenField = document.createElement("input"); hiddenField.setAttribute("type", "hidden"); hiddenField.setAttribute("name", key); hiddenField.setAttribute("value", value); form.appendChild(hiddenField); }); document.body.appendChild(form); form.submit(); } 

Pavyzdys:

 normalPost("/people/new", { people: [ { name: "Chris", address: "My address", dogs: ["Jordan", "Elephant Man", "Chicken Face"], information: { age: 10, height: "3 meters" } }, { name: "Andrew", address: "Underworld", dogs: ["Doug", "Elf", "Orange"] }, { name: "Julian", address: "In a hole", dogs: ["Please", "Help"] } ] }); 

Sukuria šiuos bėgių parametrus:

 {"authenticity_token"=>"...", "people"=> [{"name"=>"Chris", "address"=>"My address", "dogs"=>["Jordan", "Elephant Man", "Chicken Face"], "information"=>{"age"=>"10", "height"=>"3 meters"}}, {"name"=>"Andrew", "address"=>"Underworld", "dogs"=>["Doug", "Elf", "Orange"]}, {"name"=>"Julian", "address"=>"In a hole", "dogs"=>["Please", "Help"]}]} 
1
31 авг. Cmrichards atsakymas rugpjūčio 31 d 2018-08-31 20:33 '18, 8:33 pm 2018-08-31 20:33

Tai pagrįsta beauSD kodu, naudojant jQuery. Jis yra patobulintas, todėl jis veikia rekursyviai ant objektų.

 function post(url, params, urlEncoded, newWindow) { var form = $('<form />').hide(); form.attr('action', url) .attr('method', 'POST') .attr('enctype', urlEncoded ? 'application/x-www-form-urlencoded' : 'multipart/form-data'); if(newWindow) form.attr('target', '_blank'); function addParam(name, value, parent) { var fullname = (parent.length > 0 ? (parent + '[' + name + ']') : name); if(value instanceof Object) { for(var i in value) { addParam(i, value[i], fullname); } } else $('<input type="hidden" />').attr({name: fullname, value: value}).appendTo(form); }; addParam('', params, ''); $('body').append(form); form.submit(); } 
1
27 мая '11 в 16:19 2011-05-27 16:19 atsakymas pateikiamas bobef gegužės 27 d. 11 val. 16:19 2011-05-27 16:19

Jūs galite dinamiškai pridėti formą naudodami DHTML ir pateikti.

1
25 сент. Atsakymą pateikė AnthonyWJones Sep 25 2008-09-25 18:20 '08, 18:20, 2008-09-25 18:20

Aš naudoju java's document.forms ir kilpa, kad gautumėte visus elementus formoje, o tada atsiųskite ją per xhttp. Taigi, tai yra mano pasiūlymas dėl javascript / ajax pateikti (su visais html kaip pavyzdys):

  <!DOCTYPE html> <html> <body> <form> First name: <input type="text" name="fname" value="Donald"><br> Last name: <input type="text" name="lname" value="Duck"><br> Addr1: <input type="text" name="add" value="123 Pond Dr"><br> City: <input type="text" name="city" value="Duckopolis"><br> </form> <button onclick="smc()">Submit</button> <script> function smc() { var http = new XMLHttpRequest(); var url = "yourphpfile.php"; var x = document.forms[0]; var xstr = ""; var ta =""; var tb =""; var i; for (i = 0; i < x.length; i++) { if (i==0){ta = x.elements[i].name+"="+ x.elements[i].value;}else{ tb = tb+" x.elements[i].name +"=" + x.elements[i].value; } } xstr = ta+tb; http.open("POST", url, true); http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); http.onreadystatechange = function() { if(http.readyState == 4  http.status == 200) { // do whatever you want to with the html output response here } } http.send(xstr); } </script> </body> </html> 
1
20 янв. atsakymas drtechno sausio 20 d 2018-01-20 04:41 '18, 4:41 ; 2018-01-20 04:41

FormObject yra parinktis. Tačiau dauguma naršyklių „FormObject“ nebepalaiko.

1
21 нояб. atsakymą pateikė lingceng 21 lapkričio. 2015-11-21 12:07 '15, 12:07 2015-11-21 12:07

Galite naudoti jQuery biblioteką ir jos $. post metodas .

1
25 сент. Bill Turner atsakymas rugsėjo 25 d 2008-09-25 18:23 '08, 18:23, 2008-09-25 18:23

„JQuery“ papildinys peradresavimui naudojant „POST“ arba „GET“:

https://github.com/mgalante/jquery.redirect/blob/master/jquery.redirect.js

Norėdami patikrinti, įtraukite aukščiau .js failą arba nukopijuokite / įklijuokite klasę į savo kodą, tada naudokite kodą čia, vietoj „args“ pakeisdami savo kintamųjų pavadinimus ir „reikšmes“ su šių kintamųjų reikšme

 $.redirect('demo.php', {'arg1': 'value1', 'arg2': 'value2'}); 
0
09 июля '18 в 3:22 2018-07-09 03:22 atsakymą pateikė OG Sean, liepos 09, 18 d., 03:22 2018-07-09 03:22

Metodas, kurį naudoju siųsti ir nukreipti vartotoją į kitą puslapį, yra tiesiog paslėptos formos rašymas, o tada automatiškai išsiunčiamas. Būkite tikri, kad paslėpta forma nėra tinkama vieta tinklalapyje. Šis kodas bus toks:

  <form name="form1" method="post" action="somepage.php"> <input name="fielda" type="text" id="fielda" type="hidden"> <textarea name="fieldb" id="fieldb" cols="" rows="" style="display:none"></textarea> </form> document.getElementById('fielda').value="some text for field a"; document.getElementById('fieldb').innerHTML="some text for multiline fieldb"; form1.submit(); 

Taikyti automatinį pateikimą

Automatinė pateikimo programa išsiųs formos vertes, kurias naudotojas automatiškai įkelia į kitą puslapį į šį puslapį. Tokia programa atrodys taip:

 fieldapost=<?php echo $_post['fielda'];> if (fieldapost !="") { document.write("<form name='form1' method='post' action='previouspage.php'> <input name='fielda' type='text' id='fielda' type='hidden'> </form>"); document.getElementById('fielda').value=fieldapost; form1.submit(); } 
0
25 сент. atsakymas pateikiamas rauprog 25 sep . 2017-09-25 05:17 '17 at 5:17 am 2017-09-25 05:17

Taip aš tai darau.

 function redirectWithPost(url, data){ var form = document.createElement('form'); form.method = 'POST'; form.action = url; for(var key in data){ var input = document.createElement('input'); input.name = key; input.value = data[key]; input.type = 'hidden'; form.appendChild(input) } document.body.appendChild(form); form.submit(); } 
0
07 марта '18 в 2:14 2018-03-07 02:14 atsakymą nikksan pateikia kovo 18 d. 18 val. 2:14 2018-03-07 02:14

Galite skambinti AJAX (tikriausiai naudodami biblioteką, pvz., Naudojant Prototype.js arba jQuery). AJAX gali tvarkyti GET ir POST parinktis.

-3
25 сент. „ Diodeus“ atsakymas - James MacFarlane rugsėjo 25 d 2008-09-25 18:22 '08, 18:22 pm 2008-09-25 18:22

Kiti klausimai apie „ žymes arba Užduoti klausimą