JavaScript sonrası talep formu gibi gönder
Başka bir sayfaya bir tarayıcı yönlendirmek için çalışıyorum. Eğer bir istek ALMAK istersem, diyebilirim
document.location.href = 'http://example.com/?q=a';
Ama ulaşmaya çalıştığım kaynağın bir POST isteği kullandığım sürece düzgün cevap vermiyor. Eğer bu dinamik olarak oluşturulmuş olsaydı, HTML kullanabilirim
<form action="http://example.com/" method="POST">
<input type="hidden" name="q" value="a">
</form>
O zaman sadece DOM formu göndermek istiyorum.
Ama gerçekten söylememi sağlayan JavaScript kodu istiyorum
post_to_url('http://example.com/', {'q':'a'});
En iyi tarayıcı uygulaması çapraz nedir?
Edit
Ben net değildi özür dilerim. Tarayıcı konumu, tıpkı bir form göndererek değiştiren bir çözüme ihtiyacım var. Eğer bu XMLHttpRequest ile mümkün ise belirgin değildir. Ve bu zaman uyumsuz olmamalı, ne de XML kullanımı, Ajax çözüm değil.
CEVAP
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();
}
Örnek:
post('/contact/', {name: 'Johnny Bravo'});
EDİTBu çok upvoted kaçtığından beri, insanlar kopyala-yapıştır bu çok olacağını tahmin ediyorum. Herhangi bir istenmeyen hataları düzeltmek için hasOwnProperty
kontrol ekledim.
Formda Javascript Sonrası yeni bir pen...
Anonim fonksiyonları Javascript dosyal...
Basarak bir formu gönder düğmesi olmad...
Nasıl varsayılan bir HTML Formu tespit...
JavaScript arabirim türü var mı (Java&...