2017-05-25 46 views
0

JavaScript我有以下代碼:調試時,我看到value is nullASP網頁API字符串參數檢索「空」

var form = new FormData(); 
form.append("SomeParam", value); 
... 

這裏。

服務看起來是這樣的:

this.importNonSalaryPacketExcel = function (data) { 
    return $http(
    { 
     url: ..., 
     method: "POST", 
     data: data, 
     headers: { 
      'Content-Type': undefined 
     }, 
     transformRequest: angular.identity 
    }); 
}; 

Web API代碼如下所示:

[HttpPost] 
[Route("api/front/file/importNonSalaryPacketExcel")] 
public HttpResponseMessage ImportNonSalaryPacketExcel(ImportNonSalaryPacketExcelParam param) 

和對象:

public class ImportNonSalaryPacketExcelParam 
{ 
    public string SomeParam { get; set; } 
    ... 

每場除了這一個正確分配和它被設置爲"null"而不是null

你能幫我找出可能的問題嗎?

+0

也許是因爲你期望'SomeParam'是一個字符串,而不是使用'dynamic'類型? – Sajal

+0

'SomeParam'實際上是一個字符串,但它應該分配給'null'而不是字符串'「null」'。 –

回答

0

好的,第一個簡單的解決方案是檢查參數是否nulljavascript而不是將其添加到表單數據根本。

第二個問題是,有定製介質格式化程序涉及FormMultipartEncodedMediaTypeFormatter,它不處理這種情況。我剛剛下載了格式化程序的源代碼並添加了對這種情況的支持。