0

私の Web アプリケーションでは、ajax を使用してシリアル番号を生成しています。シリアル番号は常に 10 桁です。そのため、10 桁未満の場合は先頭に「0」が追加されます。

私は ajax 呼び出しを行っていますが、メソッドはシリアル番号を「0000000154」ではなく 108 として返しています。

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。先行ゼロの整数は 8 進数形式です。

このようなもの

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

は次のものとは異なります。

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