2015-09-28 89 views
0

我得到了下面的js腳本提交HTML表單的內容:通過ajax(html)發送Html文本到PHP腳本存儲在分貝。它不僅節省直到 

$.ajax({ 
     url : 'include/speakers.php', 
     type : 'POST', 
     data : "htmlText="+htmlField", 
     dataType : 'html', 
     success : function (result) { 
     }, 
     error:function (xhr, ajaxOptions, thrownError){ 
      $(".phpMessage").html(" - "+thrownError); 
     } 
    }); 

音箱PHP的樣子:

$htmlTextVar = $_POST['htmlText']; 
$stmt = $mysqli->prepare("UPDATE table SET htmlText = ? WHERE id = ?"); 
$stmt->bind_param('si', $htmlTextVar, $id); 
$stmt->execute(); 

現在,問題是,當我提交的HTML文本像

<p class="MsoNormal"><span lang="EN-US">&nbsp;</span> 

它的唯一存儲文本,直到&nbsp;。因此,數據庫表中的文本是

<p class="MsoNormal"><span lang="EN-US">

不知道如何解決這個:(

+0

顯示'htmlField'聲明 – FuzzyTree

回答

0

穿上encodeURIComponent()

$.ajax({ 
    url : 'include/speakers.php', 
    type : 'POST', 
    data : "htmlText=" + encodeURIComponent(htmlField), 
    dataType : 'html', 
    success : function (result) { 
    }, 
    error:function (xhr, ajaxOptions, thrownError){ 
     $(".phpMessage").html(" - "+thrownError); 
    } 
}); 

,並在你的php文件數據

$htmlTextVar = urldecode($_POST['htmlText']); 
+0

This made it !!! T非常感謝你! – jQuery

+0

@jQuery如果它解決了你的問題,你可以點擊它作爲接受的答案:) – LeViNcE

相關問題