2012-02-10 51 views
0

即时发布HTML我upload.php的文件和IM逃逸是jQuery的,但它在数据库中jQuery的发布HTML数据到mysql

%3Cdiv%20class%3D%22loungeTabsContainer%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id%3D%22tab1%22%20class%3D%22tab_content%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cul%20class%3D%22imageLibrary%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20 

我怎么能保存到数据库正常的HTML保存? ?代码块如下:

var id = $('body').attr('id'); 
    var content = escape(NewText); 

    $.post("update.php", { id: id, content: content }, 
    function(response) { 
     $("#response").html(response); 
     $("#response").slideDown('slow'); 
     slideout(); 
     $("#loading").fadeOut('slow'); 
    }); 
    location.reload(); 

upload.php的

$id = mysql_escape_string($_POST['id']); 
$text = mysql_escape_string($_POST['content']); 

// Connects to your Database 
mysql_connect("localhost", "#########", "###############") or die(mysql_error()); 
mysql_select_db("##########") or die(mysql_error()); 
mysql_query("UPDATE content SET content='".$text."' WHERE id='".$id."'") or die(mysql_error()); 

回答

0

它看起来像你发送的内容是网址编码。您可以使用urldecode来解码文本。

0
var content = escape(NewText); 

不工作 尝试,而不是escape

var content = NewText.replace(/<\/?[^>]+>/gi, ''); 

我假设NewText这是你的实际的HTML含有数据

0

您不需要在jQuery中转义它,因为$ .post()会自动为您执行它

0

也许将mime类型更改为text/html - .post方法应该有一个参数可用或在其他地方的jQuery设置

0

首先,不需要在jquery中转义,$.post()默认在内部执行。

尝试检查您的内容,然后发送到jquery。可能被编码。