JavaScript ile DOM değişiklikleri yakalamak ve bir PHP sunucusuna göndermek nasıl

1 Cevap php

Ben bir kullanıcı HTML DOM belirli bir bölümünü değiştirebilir ve sonra tekrar depolama için sunucuya değişiklik POST olanak sağlayan bir web UI oluşturmak için istendi ettik. Modifikasyon seçim jQuery olmanın benim aracı ile, Drag'n'drop üzerinden yapılmalıdır. Ben bir PHP programcısı değilim çünkü sunucu PHP olabilir, ama başkası tarafından yazılmış olacaktır.

Bunu yapmak için aklınıza tek yolu değiştirildiğinde AJAX geri sunucuya tüm DOM bölümüne göndermektir. Bölüm oldukça büyük olabilir çünkü Ancak, bu pahalı. Ayrıca ben verimli modifiye bölümünü yakalamak istiyorum ve bu sunucuya gönderilen bir dize yazmak nasıl emin değilim. Çakışan etkinlikler de büyük bir endişe olacaktır.

Daha iyi bir yaklaşım için herhangi bir fikir? Ben düşünüyor olmalı ki kitaplıkları / araçları (JavaScript veya sunucu tarafı) var mı? Çok teşekkürler.

1 Cevap

Sen gerçek sürükleme / bırakma / yeniden düzenlenmesi kolaylaştırmak için UI eklentisi gibi bir şey kullanmak isterdim. Ben DOM belirli bir şekilde bir sunucuya AJAX bilgi nesneleri ve bulacaktır kütüphanelerin bilmiyorum, bu yüzden muhtemelen kendinizi özel ihtiyaçlarını karşılamak için böyle bir şey kod olurdu. Size göndermek için çalışıyoruz DOM düğümü ne tür bilmek yardımcı olabilir.

Özel bir WYSIWYG gibi bir şey, gönderme inşa ediyorsanız bütün düğüm bilgileri kaybetmeden en iyi yaklaşım olabilir. Kullanıcıların aşağıdaki kodu gibi bir liste şey yeniden düzenlemek için sürükle ve bırak için izin gibi basit bir şey yapıyorsanız yeterli olabilir:

var toPost = '';
function handler(data) {//handle server response}
$("ul#container li").each(function(){toPost+=this.getAttribute('rel');});
$.post('processing_script.php',{data:toPost},handler);

Google bu nasıl işleyeceğini kontrol etti. Sürükle ve iGoogle ana bir öğe damla ise, bir GET isteği aşağıdaki parametreleri ile Google işleme komut gönderilir:

et  '4af26272PQUMZP8V'
mp  '19_1:4_1:7_1:13_1:16_1:18_2:2_2:3_2:14_2:11_2:_opt_3:17_3:6_3:12_3'