2017-10-19 131 views
0

因此,我使用ajax傳遞值「00」,出於某種原因,當我的WebMethod接收到字符串時,它只有「0」如何確保截斷不會發生?AJAX將「00」字符串截斷爲「0」

$.ajax({ 
    url: 'http://localhost//Scripts/test.aspx/test', 
    type: 'POST', 
    data: JSON.stringify('{"tivId":"' + 
     $(e.relatedTarget).data('id') + 
     '","lotId":"' + 
     <%= LotId() %> 
     '"}'), 
    contentType: 'application/json; charset=utf-8', 
    dataType: 'json', 
    success: function(response) { 
     SetSuccessModal(); 
    }, 
    failure: function(response) { 
     alert(response.d); 
    } 
}); 
+0

你能提供的代碼,請。 – Dale

+0

您需要檢查長度,例如長度<2,那麼您知道返回的值可以是從1到9之間的任何值,因此您可以使用And條件來檢查值是否爲.Contains(「0 「)'如果是這樣,將字符串從'0'更改爲''00'' – MethodMan

+0

檢查LotId()以及數據到達的每個地方。可能某些地方發送或接收整數數據,或者某些地方轉換爲整數 – AmirhosseinYari

回答

1

嘗試添加一些符號TRU:

"|00|" 

然後在WEBMETHOD刪除它們

param.replace("|",""); 

這是一個時間快速的解決方案,當然是更好,如果你能抓住這是爲什麼發生。

附加到這一點,也許日期類型可以在這裏引起的問題,例如,在... INT X = 00; //這將被存儲爲0

+0

它似乎被截斷爲「| 0 |」在它甚至發送到webmethod之前 – Cowmoogun

+0

然後,我認爲你的函數返回一個整數值。你也可以嘗試使用「.toString()」 – BlackJohan

-1

不可能肯定地說沒有任何代碼,但字符串可能會在轉換之前轉換成一個整數。

+0

抱歉我編輯了代碼。所以它會被轉換成一個Int然後回到一個字符串? – Cowmoogun