如何将布尔结果发送到ajax调用

时间:2015-11-25 07:13:31

标签: ajax

我想在ajax调用中发送布尔结果。

Ajax通话

function myMethod() {
		 
    $.ajax({
        type : "GET",
	url : myurl
	dataType : "json",
	contentType: "application/json",
	crossDomain: true,
	success : function(data) {
            alert("success :"+data);
			
	},
	error : function(data) {
   	    alert("Fialed to get the data");
	}
    });
	
}

我想发送布尔结果的控制器方法。

@RequestMapping(value = "/myMethod", method = RequestMethod.GET)
@ResponseBody
public boolean myMethod(empId) {
    flag = false;
		
    try {
    	if (empId != null)
            newName = Employee.getName(empId);
        else
            newName = Employee.getName();
    } catch (Exception e1) {
        flag = true;
        System.out.println("flag :" + flag);
        e1.printStackTrace();
    }
		
    return flag;
}

我想将布尔标志结果发送到ajax调用。 我该如何发送。不介意逻辑..我只是想知道如何将布尔结果发送到ajax调用。请帮忙。

2 个答案:

答案 0 :(得分:2)

Ajax使用HTTP,它是一种文本协议,没有布尔值的概念。但是,您可以返回字符串“1”或“0”来表示布尔值。

然后,在你的“成功”回调中:

success : function ( data ) {
    if ( data * 1 ) {
        // true result
    } else {
        // false result
    }
}

答案 1 :(得分:0)

如果不将布尔值传递给Ajax调用,您可以使用地图执行此类操作。使用此地图,您可以发送任何内容,而不仅仅是限制为布尔值。

@RequestMapping(value = "/myMethod", method = RequestMethod.GET)
    @ResponseBody
     public Map<String, Object> myMethod(empId)
     {

     flag=false;

        try {
            if(empId != null)
                newName = Employee.getName(empId);
            else
                newName = Employee.getName();
        } catch (Exception e1) {
            flag=true;
            System.out.println("flag :"+flag);
            e1.printStackTrace();


        }
        final Map<String, Object> map = new TreeMap<String, Object>();
        map.put("flagdata", flag);
        return map;

     }

然后你就可以访问这个&#39; flagdata&#39; Ajax调用中的对象。

您的Ajax代码将是这样的。

$.ajax({
            type : "GET",
            url : myurl
            dataType : "json",
            contentType: "application/json",
            crossDomain:true,
            success : function(data) {
                alert("success :"+data.flagdata);

            },
            error : function(data) {
                alert("Fialed to get the data");
            }
            });

希望它有所帮助。!