0

在我的 Web 应用程序中,我使用 ajax 生成序列号。序列号始终为 10 位长。因此,如果它的开头附加了少于 10 个数字的“0”。

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

我可以在我的 java 函数中得到“0000000154”作为字符串,但是当我在 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;
});
4

1 回答 1

2

String除非发送给您的数据是形式的,否则您无法对其进行任何操作。前导零的整数是八进制形式

像这样的东西

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

不同于:

{
    "foo":"0000000012" //gives "0000000012"
}
于 2012-04-30T06:26:14.983 回答