Unquotted string '"2016-07-19"'


  自己挖的坑,含淚跳進去也要填平。   ---題記

 

  1.問題:

    a. 在前端使用JSON.stringify(json)轉化數組對象為字符串,然后傳給后台;

    var dateArray = new Array();
    //fill array
    params.dateArray = JSON.stringify(dateArray);
    //ajax.post();

 

    b. 后端java使用 net.sf.json.JSONArray.fromObject(params);方式解析;

    JSONArray jsonArrays = JSONArray.fromObject(params.get("dateArray"));

 

    c:報如下錯誤:

     Unquotted string '"2016-07-19"'

 

  

  2.分析:

    2.1 一看是錯誤為字符串沒有寫引號;

    2.2 但是此字符串命名是有引號的呀;

    2.3 難道是JSON.stringify();轉化使用的編碼方式不正確?console.log(轉化后字符串),沒錯;

    2.4 難道是傳到后台中傳輸的編碼方式不正確?查看web.xml,所有請求的編碼方式為UTF-8,沒錯;

  

  3.頓悟:

    想起了系統做了防xss攻擊優化,將一些可能造成攻擊的字段在過濾器中轉為了全角字符,查看過濾器,bingo!!!

 

  4.解決方案:

    將雙引號轉化的為全角的代碼注釋;

 

  5.感想:

    防xss攻擊方式需要改善

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM