SyntaxError: missing ] after element list 火狐问题

关于火狐运行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;
}
解决以上关于火狐报错问题的方法为:将dataType设置为htmltext就可以

产生SyntaxError: missing ] after element list问题的解决办法并不一定都和本例中一样

也有可能因其它问题所产生,固本例不一定具有公共性,还需详细问题详细分析。


作者:itmyhome

出处:http://blog.csdn.net/itmyhome1990/article/details/41977941



原文地址:https://www.cnblogs.com/jhcelue/p/6738463.html