• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    ajax回調參數亂碼怎么辦

          Ajax 即“Asynchronous Javascript And XML”(異步 JavaScript 和 XML),是指一種建立交互式網頁應用的網頁開辟手藝。

          Ajax = 異步 JavaScript 和 XML 或者是 HTML(尺度通用標識表記標幟說話的子集)。

          Ajax 是一種用于建立快速動態網頁的手藝。

          Ajax 是一種在無需從頭加載整個網頁的環境下,可以或許更新部門網頁的手藝。

          經由過程在后臺與辦事器進行少量數據互換,Ajax 可以使網頁實現異步更新。這意味著可以在不從頭加載整個網頁的環境下,對網頁的某部門進行更新。

    傳統的網頁(不利用 Ajax)若是需要更新內容,必需重載整個網頁頁面。

    東西/原料

    • 電腦
    • myeclipse

    方式/步調

    1. 1

      第一步:問題定位。

      1、呈現亂碼的原因一般都是因為編碼的紛歧致導致的。ajax請求接管字符編碼一般都為utf-8

      2、在數據傳輸的過程中,前端get請求或post請求在顛末Tomcat和java的一些框架時,都可能會呈現編碼紛歧致的問題導致亂碼,亂碼一般都是中文。

    2. 2

      第二步:問題重現。

      1、我們重現的是比力原始的javaweb的servlet開辟,status2和springmvc和其它框架道理根基都是一樣的。

      2、代碼實現

      2.1 起首搭建一個javaweb項目

      編寫servlet關頭代碼

      @Override

      protected void doGet(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException {

      Map<String,Object> map = new HashMap<String,Object>();

         map.put("name", "張三");

         map.put("name2", "李四");

         map.put("name3", "網二");

         JSONObject json = new JSONObject(map);

      PrintWriter out =  response.getWriter();

      out.write(json.toString());

      out.close();

      }

      2.2 web.xml設置裝備擺設

        <servlet>

        <servlet-name>servlet</servlet-name>

        <servlet-class>com.test.servlet.ServletController</servlet-class>

        </servlet>

        <servlet-mapping>

        <servlet-name>servlet</servlet-name>

        <url-pattern>/servlet.do</url-pattern>

        </servlet-mapping>

    3. 3

      第三步:重現亂碼測試。

      1、打開頁面。

      2、單擊按鈕ajax

      3、彈出內容亂碼,問題重現

    4. 4

      第四步:問題解決。

      1、解決的思惟本家兒如果經由過程領受數據,傳輸數據之前先利用utf-8編碼解決。

      2、具體代碼如下所示

      @Override

      protected void doGet(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException {

      response.setContentType("application/json;charset=utf-8");

      // setContentType與setCharacterEncoding的挨次不克不及更調,不然仍是無法解決中文亂碼的問題

      response.setCharacterEncoding("UTF-8");

      Map<String,Object> map = new HashMap<String,Object>();

         map.put("name", "張三");

         map.put("name2", "李四");

         map.put("name3", "網二");

         JSONObject json = new JSONObject(map);

      PrintWriter out =  response.getWriter();

      out.write(json.toString());

      out.close();

      }

      3、測試。

      3.1 打開頁面,

      3.2點擊ajax按鈕如下圖所示。

    注重事項

    • 若是領受呈現亂碼:new String(str.getBytes("ISO-8859-1"),"uft-8");
    • 發表于 2019-03-31 22:14
    • 閱讀 ( 800 )
    • 分類:其他類型

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆