【JSP】jQuery Deferred exception successed is not defined
- 我用
<%=%>输出在<%%>内定义的变量apply,<%=apply%>的值为failed,然后黄色警告JQuery.Deferred exception: successedis not defined ReferenceError: failed is not define at HTMLDocument.<anonymous>(http://localhost:8080/applyTutorServlet?stuID=20171532:86:30)
-
代码:
<% String apply=(String) request.getAttribute("applyStatus"); System.out.println("JSPapply="+apply); %> var applyStatus =<%=apply%>;if (<%=apply%> == "failed"){} //这句报错
控制台输出
JSPapply=failed没问题,浏览器控制台输出<%=apply%>是null,输出其类型是
undefined。点击错误行86

看着没问题,但实际上这里由于var变量没有类型,赋值必须要加引号,表示这是个字符串。
加上引号即可
var applyStatus =<%="\""+apply+"\""%>;
-
小结:我以为,在
<%%>内定义的apply是String类型的,输出直接就是字符串,但实际却不是。以后用
<%=%>输出在<%%>内定义的变量时,一定要注意类型,如果是字符串要先加引号。

浙公网安备 33010602011771号