我想發佈一個空的javascript數組[]
到webAPI並讓它創建一個空的整數列表。我也想要它,所以如果我發佈javascript null
到webAPI,它將null指定給整數列表。發送空數組到webapi
JS:
var intArray = [];
$.ajax({
type: 'POST',
url: '/api/ListOfInts',
data: {'' : intArray},
dataType: 'json'
});
C#的WebAPI
[HttpPost]
public void ListOfInts([FromBody]List<int> input)
問題1)的Jquery拒絕發送數據{'' : []}
視後的有效載荷。當我在陣列中添加的東西它的工作原理,如{'' : [1,2,3]}
問題2)Passing empty js array to controller gives null基於我閱讀,即使我得到它後空數組,則初始化列表爲空。討論的解決方案有這樣的清單總是初始化爲空,但我不想這樣。我希望它在某些情況下爲空(當發送null/undefined時),並且當發送[]
時,它應該初始化爲空。
編輯:爲什麼我使用{'' : []}
您是否嘗試過只發送數據:intArray? –
是的,它根本不起作用。 WebAPI不知道如何處理它 – LearningJrDev
在WebApi中,區分請求中的null和empty可能很困難。如果你正在使用這些在你的應用程序中設置某種「狀態」,我會重新思考你是如何做到的。可能發送某種標誌或某種東西,以便在服務器上正確初始化您的列表。 – jensendp