为什么ajax调用没有响应整数类型值?

时间:2016-09-30 07:21:00

标签: ajax spring-mvc

这是我的ajax电话。

$.ajax({
     type: "get",
     url: "xyz",
     success: function(res){
        alert("hello");// not coming while returning int type but coming while returning a String value.
     }
});

在我的控制器中,

@RequestMapping(value="/xyz")
@ResponseBody
public Integer xyz(){
    int i = 10;
    return i;
}

这里有什么问题。如果我返回一个String类型,而不是int类型,我能够以ajax成功获取数据。

由于

1 个答案:

答案 0 :(得分:0)

首先,您应该提及完整的HTTP URL。我们这样说:

http://localhost:8080/your_webapp_name/xyz

而不只是:xyz

其次,如果要向服务器发送GET HTTP请求,则应在方法下提及,而不是在类型下。像这样:

method:"GET"

现在,Jquery Ajax 中的成功方法总是希望接受文本作为参数,因此在您的情况下,res参数应被视为文本。

所以你可以这样做:

@RequestMapping(value="/xyz")
@ResponseBody
public String xyz(){
    return "10";
}

在你的ajax成功方法上,将String转换为Number类型。

在JavaScript中你没有整数,你有字符串,数字,布尔,数组,对象。