1. 程式人生 > >ajax傳遞html文字給server端失效與textarea中顯示html文字

ajax傳遞html文字給server端失效與textarea中顯示html文字

在公司的一次任務中遇到,前端介面要傳遞html文字到後端。但是ajax再此方面略有欠缺,樓主用一個取巧的方法解決了問題,以此記錄一下。

問題:

  • ajax傳遞html文字到後臺失效
  • javascript 處理 textarea中顯示html文字

解決方案:

  • 將html文字改變為普通文字
  • 後端將普通文字轉化回html文字

實現方案:

  • 前端實現
    /**
     * 將 <、>等符號替換為html轉義字元,如有別的字元,可自行新增
     */
    function ajax_encode(str) {
      str = str.replace("<"
, "&lt;"); str = str.replace(">", "&gt;"); return str; }

將html通過ajax_encode轉換後,然後經encodeURI(),傳遞到後端,post方法另行操作,將引數通過ajax傳遞到後端

  $.ajax({
    type: "GET",
    url: "requesturi?data="+encode_data,
    dataType: "json",
    success: function (response) {

    }
  });
  • 後端php實現方案

php的GET請求和POST請求會自動把引數反編譯 ,所以這裡不做處理

$params = $_GET;
$data = htmlspecialchars_decode($params['data']);
echo $data;

科普

htmlspecialchars_decode

 為php將html文字轉義字元轉化為html符號

htmlspecialchars

將php將html特殊字元轉為 html轉義字元