Ajax调用返回“0000000154”为108

时间:2012-04-30 06:12:03

标签: javascript ajax return-value jquery-callback

在我的网络应用程序中,我使用ajax生成序列号。序列号始终为10位数。因此,如果在开始时附加少于10位数的“0”。

我正在进行ajax调用,该方法将序列号返回为108而不是“0000000154”。

我可以在我的java函数中将“0000000154”作为String获取,但是当我在javascript中获得此值时,它显示为108。

为什么会这样?

下面是我在后端的java代码

@RequestMapping(value = "/genNextSerialNumber", method = RequestMethod.GET)
public @ResponseBody
String genNextSerialNumber() {
    log.info("generating serial number");
    String serialNumber= employeeService.genNextSerialNumber();
    return serialNumber;
}

以下是我的前端代码。

$.getJSON(url +"?t="+getTimestamp(), function(nextSerialNumber) {
    var nextSerialNumberObj = document.getElementById("nextSerialNumber");
    alert(nextSerialNumber);
    nextSerialNumberObj .value = nextSerialNumber;
});

1 个答案:

答案 0 :(得分:2)

除非发送给您的数据是String形式,否则您无法对其执行任何操作。带前导零的整数are in octal form

类似这样的事情

{
    "foo":0000000012 //gives me a "10". octal
}

不同于:

{
    "foo":"0000000012" //gives "0000000012"
}