पर खाली सरणी भेजना मैं वेबएपीआई में एक खाली जावास्क्रिप्ट सरणी []
पोस्ट करना चाहता हूं और इसे पूर्णांक की एक खाली सूची बनाना चाहता हूं। मैं यह भी चाहता हूं कि यदि मैं जावास्क्रिप्ट null
को वेबएपीआई पर पोस्ट करता हूं तो यह पूर्णांक की सूची में शून्य को असाइन करता है।वेबपै
जे एस:
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 मैं जो भी पढ़ता हूं उसके आधार पर मुझे खाली सरणी पोस्ट करने के लिए भी मिलता है, यह सूची को शून्य के रूप में प्रारंभ करेगा। चर्चा किए गए समाधानों में यह है कि सूची हमेशा खाली के रूप में शुरू होती है लेकिन मुझे वह नहीं चाहिए। मैं चाहता हूं कि यह किसी मामले में शून्य हो (जब इसे शून्य/अपरिभाषित किया जाता है) और जब []
भेजा जाता है तो इसे खाली के रूप में प्रारंभ करना चाहिए।
संपादित करें: https://www.asp.net/web-api/overview/advanced/sending-html-form-data-part-1 के बारे में देखें कारण है कि मैं {'' : []}
तुम सिर्फ डेटा भेजने की कोशिश की है: intArray? –
हां, यह बिल्कुल काम नहीं करता है। वेबएपीआई को यह नहीं पता कि इसे कैसे संभालना है – LearningJrDev
वेबएपी में, अनुरोध में शून्य और खाली के बीच अंतर करना मुश्किल हो सकता है। यदि आप किसी भी तरह से अपने आवेदन में किसी प्रकार के "राज्य" को सेट करने के लिए उपयोग कर रहे हैं, तो मैं पुनर्विचार करूँगा कि आप इसे कैसे कर रहे हैं। संभावित रूप से किसी प्रकार का ध्वज या कुछ भेजना जो सर्वर पर आपकी सूची को सही ढंग से प्रारंभ करेगा। – jensendp