SyntaxError: missing ] after element list Firefox問題,syntaxerrorelement
關於Firefox執行var obj = eval('(' + data + ')');時 報SyntaxError: missing ] after element list錯誤,Chrome和IE正常
情形如下:
當使用ajax接收從後台傳遞過來的json資料時
$.ajax( {type : "POST",dataType : "json",url : "RegisterAction.action",data : params,success : function(data) {console.log(data);var obj = eval('(' + data + ')');console.info(obj);},error : function(data, status, e) {alert("錯誤");}});
當設定dataType : "json", 程式會跳到error中
當去掉dataType : "json", 程式報SyntaxError: missing ] after element list錯誤
Struts配置為:
<struts><package name="build" extends="json-default"><action name="RegisterAction" method="register" class="com.home.RegisterAction"> <result type="json"></result></action></package></struts>
Action為(部分代碼):
public String register() {PrintWriter out;try {out = response.getWriter();out.print("{msg:true,name:'" + name + "',sex:'" + sex + "'}");out.close();} catch (IOException e) {e.printStackTrace();}return null;}
解決以上關於Firefox報錯問題的方法為:將dataType設定為html或text即可
產生SyntaxError: missing ] after element list問題的原因並不一定都和本例中一樣
也有可能因其他問題所產生,固本例不一定具有公用性,還需具體問題具體分析。
作者:itmyhome
出處:http://blog.csdn.net/itmyhome1990/article/details/41977941
歡迎加入JAVA技術交流群:74955800