Ben sorun bazı döndürülen verilere bağlamak için benim kalıcı pencere işlevini alıyorum yaşıyorum. Ben Cody Lindy'nın Jquery.DomWindow eklentisi kullanıyorum. Bu sorunu dışında, düzgün herşey unutmayınız.
Benim jQuery.getJSON çağrısından döndürülen verileri kalıcı bir pencere açmak gerekiyordu bir bağlantı içeriyorsa sorun oluşur. Bu bağlantı, ancak DOM tarafından kabul edilmez ve bu nedenle herhangi bir tarafından bağlı değildir.
Benim jQuery işlevi:
$(".deleteThis").live("click", function(){
var $this = $(this);
$.getJSON(this.href, function(data) {
if( data.success == '1') {
$this.parent().html('<span style="background:#f1ffd6;padding:5px;">' +data.msg+'</span>');
}
else if( data.success == '2') {
$this.parent().html('<span style="background:#f1ffd6;padding:5px;">' +data.msg+'</span>');
}
else {alert("Failure (most likely our fault).");}
});
return false;
});
JQuery gönderir php betik (alakalı değil aşağıda gösterildiği gibi değil) bazı veritabanı komut dosyası içerir. JSON dizi döndürür ilgili php kodu şudur:
if($del ==1 ){
$msg= "$name has been deleted. (<a href='media/delete_coll.php?cid=$cid&delete=0' class='deleteThis' >undo</a>)";
print json_encode(array("success" => 1,"msg" => $msg));
}
if($del ==0 ){
$msg= "$name <a href='media/editCollab.php?coll=$coll_id' class='absoluteIframeDOMWindow'>edit</a>
<a href='media/delete_coll.php?cid=$coll_id&delete=1&coll=$coll' class='deleteThis' > delete</a> |
Collaborator has restored.";
print json_encode(array("success" => 2, "msg" => $msg));
}