मैं कुछ दिनों के लिए कुछ भी करने के लिए संघर्ष किया जो मेरे लिए काम करेगा क्योंकि आईडी के कई सरणियों को पारित कर रहा था और एक बूँद लौटा रहा था। यदि आप .NET 2.1 का उपयोग कर रहे हैं, तो उपयोग करना बंद कर देता है, आपको [FromBody] का उपयोग करने की आवश्यकता होती है और जैसा कि आप डेटा को धारण करने के लिए एक व्यूमोडल बनाने के लिए केवल एक बार उपयोग कर सकते हैं।
नीचे की तरह सामग्री लपेटें,
var params = {
"IDs": IDs,
"ID2s": IDs2,
"id": 1
};
मेरे मामले में मैंने पहले ही सरणियों को रद्द कर दिया था और फ़ंक्शन को परिणाम दिया
var IDs = JsonConvert.SerializeObject(Model.Select(s => s.ID).ToArray());
फिर XMLHttpRequest POST को कॉल करें और ऑब्जेक्ट को सख्त करें
var ajax = new XMLHttpRequest();
ajax.open("POST", '@Url.Action("MyAction", "MyController")', true);
ajax.responseType = "blob";
ajax.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
ajax.onreadystatechange = function () {
if (this.readyState == 4) {
var blob = new Blob([this.response], { type: "application/octet-stream" });
saveAs(blob, "filename.zip");
}
};
ajax.send(JSON.stringify(params));
फिर इस तरह का एक मॉडल है
public class MyModel
{
public int[] IDs { get; set; }
public int[] ID2s { get; set; }
public int id { get; set; }
}
फिर एक्शन में पास हो
public async Task<IActionResult> MyAction([FromBody] MyModel model)
यदि आपकी फ़ाइल लौट रही है तो इस ऐड-ऑन का उपयोग करें
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.3/FileSaver.min.js"></script>
application/x-www-form-urlencoded
यदि मैं स्ट्रिंग का उपयोग करता हूं, तो उपयोग करने का क्या मतलब हैapplication/json
? :)