Benim web sitesi kullanıcıları, ideal olarak, yaklaşık bir saat (temelde bir online-deneyi) boyunca bir db sunucuya bir kaç yüz mesajları gönderme olacak. Deney js uygulanan, bu yüzden komut topladığı veri göndermek için bir XMLHttpRequest nesnesini kullanmak çalışıyorum.
Ben yaklaşık belirsiz olduğum şey POST parametresini kullanmak için nasıl. Ben daha önce db sunucuya gönderilen işleme için bir. Php sayfasına erişilebilir olabilir bu yüzden $ _POST değişkeni için yaklaşık 8 farklı anahtar / değer çiftlerini ayarlamak istiyorum. Ben sadece göndererek, sunucu kendisi herhangi bir bilgi alınırken ilgilenmiyorum (neden olan, ve bunu ben '1 '/ açık koşullu readyState kuruyorum, doğru bir yaklaşım olup emin değilim).
İşte ben şu anda çalışıyorum script:
function postData(dataList) {
var xmlhttp = new XMLHttpRequest();
var processingUrl = "process_exercise_data.php";
var POSTBody = "";
POSTBody+="block_type="+encodeURIComponent(dataList[0]);
POSTBody+="&block_number="+encodeURIComponent(dataList[1]);
POSTBody+="&trial_type="+encodeURIComponent(dataList[2]);
POSTBody+="&trial_number="+encodeURIComponent(dataList[3]);
POSTBody+="&input_value="+encodeURIComponent(dataList[4]);
POSTBody+="&output_value="+encodeURIComponent(dataList[5]);
POSTBody+="&prediction_value="+encodeURIComponent(dataList[6]);
POSTBody+="&error="+encodeURIComponent(dataList[7]);
xmlhttp.open("POST",processingUrl,true);
if (xmlhttp.readyState==4) {
xmlhttp.send(POSTBody);
}
}
The main goal is to send the key/value pairs to the .php page using POST while remaining on the current page (basit AJAX isteği, yanılmıyorsam eğer). Herhangi bir yorum veya öneriniz çok takdir!
O / o sunucu için bu veriler, bu fonksiyon ve POST çağırmak için, (bu işlevin kapsamı dışında) belli bir koşul altında belli bir şekilde hareket ettiğinde Ben başarmak için çalışıyorum hepsi, kullanıcı yaşıyor, unutmayın. Bir sunucu yanıtı metin gerekli değildir.
EDIT:
Şimdi soru şudur: Ben hala işleme php sayfasında yılında $ _POST dizi erişmek mümkün olacak mı? İşte bir örnek:
$block_type = $_POST['block.type'];