AJAX में क्रमबद्ध प्रपत्र और सरणी पास करना

प्रोग्रामिंग


नमस्ते

मैं एक फॉर्म पास करने का प्रयास कर रहा हूं जिसमें एक बूल और डेटाटेबल है जिसे मैंने डेटाटेबल दस्तावेज़ के अनुसार एक सरणी में परिवर्तित कर दिया है।

 var aData = $('#dtPurchaseEnquiryLines').DataTable().rows().data().toArray();

  var formData = $("#PurchaseEnquiryDetails").serializeArray();


 $.ajax({
        type: "POST",
        url: "/PurchaseEnquiry/UpdatePEHeader",
        data: { oPE: jsonData, oLines: aData } 
})

यदि मैं इसे सीरियलाइज़एरे का उपयोग करके पास करता हूं तो फॉर्म से बूल हमेशा गलत के रूप में वापस आ रहा है।

अगर मैं सेट को इस प्रकार सेट करूं

var formData = $("#PurchaseEnquiryDetails").serialize();

प्रपत्र नियंत्रक के पास शून्य के रूप में जा रहा है। यदि मैं AJAX से डेटाटेबल ऐरे इनपुट को हटा देता हूं तो यह बूल को सही मानते हुए कंट्रोलर के पास चला जाता है।

मैंने दोनों इनपुट के लिए एक ऑब्जेक्ट बनाने और इसे स्ट्रिंगिफ़ाई के रूप में पोस्ट करने का प्रयास किया है, लेकिन फिर नियंत्रक पर डेटाटेबल सरणी शून्य है, भले ही फॉर्म सही ढंग से पास हो गया हो।

मेरे पास एक कार्यशील समाधान है जो है

                                        var aData = $('#dtPurchaseEnquiryLines').DataTable().rows().dat();

var formData = $("#PurchaseEnquiryDetails").serialize();


var jsonData = {};
       

$(formData).each(function (index, obj) {
          if (obj.name === "ReviewRequired1" && !jsonData.hasOwnProperty(obj.name)) {
        jsonData[obj.name] = obj.value; } 
else if (!jsonData.hasOwnProperty(obj.name)) {
  jsonData[obj.name] = obj.value; }
 });

 $.ajax({
     type: "POST",
     url: "/PurchaseEnquiry/UpdatePEHeader",
     data: { oPE: jsonData, oLines: aData } 
})   

मैं बस यही सोचता हूं कि यह थोड़ा सा धोखा लगता है और कोई अच्छा समाधान नहीं है। क्या कोई मदद कर सकता है?

मैंने क्या प्रयास किया है:

var aData = $('#dtPurchaseEnquiryLines').DataTable().rows().dat();

var formData = $("#PurchaseEnquiryDetails").serialize();


 var jsonData = {};
       

     $(formData).each(function (index, obj) {
           if (obj.name === "ReviewRequired1" && !jsonData.hasOwnProperty(obj.name)) {
           jsonData[obj.name] = obj.value;
    } else if (!jsonData.hasOwnProperty(obj.name)) {
      jsonData[obj.name] = obj.value;
  }
});

$.ajax({
     type: "POST",
     url: "/PurchaseEnquiry/UpdatePEHeader",
      data: { oPE: jsonData, oLines: aData } 
})   

コメント

タイトルとURLをコピーしました