日期:2014-05-19  浏览次数:20761 次

关于jquery返回值问题?求高手解答

这是servlet代码:
public String execute() throws IOException{
HttpServletRequest request=ServletActionContext.getRequest();
HttpServletResponse response=ServletActionContext.getResponse();
response.setContentType("text/html;charset=utf-8");
String responseText1 ="";
List list=dictService.findDictall();
for(int i=0;i<list.size();i++)
{  
BasDict basdict=(BasDict) list.get(i);
if(dictvalue.equals(basdict.getDictItem())){
System.out.println("重复");
responseText1="名称已存在,请重新输入";
break;
}
}
PrintWriter out = response.getWriter();
  out.println(responseText1);
  out.close();

这是js里jquery代码:

var dictsign=false;
$(function(){
$("#dictvalue").bind("blur",function(){
var dictvalue=$("#dictvalue").val();
if($("#dictvalue").val()==""){
$("#check_dictvalue").html("内容不能为空");
dictsign=false;
} else{
$.post("ajax",{dictvalue:dictvalue},function(data){
$("#check_dictvalue").html(data);
if(data=="")
{alert(data);
dictsign=true;
}当满足条件让data返回""空值时,在js里判断data是否为空值时,一直是非空,也就是不执行该if语句,alert测试确实为空啊。。?

});
}
});
});

function dictcheck(){

return dictsign;

}



------解决方案--------------------
哦,还有一种可能要注意下,就是data里面其实是 1 个空格。

那么需要把空格给灭了:
data = data.replace(/(^\s*)|(\s*$)/g, "");