नहीं होना चाहिए यह वास्तव में मुझे अपने सिर को खरोंच कर रहा है। अर्थात् क्योंकि यह केवल आईई में होता है, फ़ायरफ़ॉक्स नहीं, और मैं इस धारणा के तहत था कि jQuery प्रभावी रूप से ब्राउज़र तटस्थ था। मैं पिछले कुछ घंटों से इस बात पर क्रैक कर रहा हूं और कम से कम, क्या हो रहा है, नीचे गिर गया है।jQuery AJAX 304 प्रतिक्रियाओं का उत्पादन करता है जब यह
यह jqGrid:
$("#DocumentListByPartRecordsGrid").jqGrid(
{
datatype: 'local',
colNames: ['<b>Id</b>', '<b>Document Name</b>', '<b>Document Type</b>', '<b>Effective Date</b>', '<b>Expiration Date</b>', '<b>Delete</b>'],
colModel: [
{ name: 'ASSOCIATION_ID', Index: 'ASSOCIATION_ID', resizable: true, align: 'left', hidden: true, sortable: false },
{ name: 'FILE_NAME', Index: 'FILE_NAME', resizable: true, align: 'left', sortable: false, width:'20%' },
{ name: 'DOCUMENT_TYPE', Index: 'DOCUMENT_TYPE', resizable: true, align: 'left', sortable: false, width:'20%' },
{ name: 'EFFECTIVE_DATE', Index: 'EFFECTIVE_DATE', resizable: true, align: 'left', sortable: false, width:'20%' },
{ name: 'EXPIRATION_DATE', Index: 'EXPIRATION_DATE', resizable: true, align: 'left', sortable: false, width:'20%' },
{ name: 'Delete', Index: 'Delete',resizable: true, align: 'center', sortable: false, width:'20%' },
],
rowNum: 15,
rowList: [15, 50, 100],
imgpath: '/Drm/Content/jqGrid/steel/images',
viewrecords: true,
height: 162,
loadui: 'block',
forceFit: true
});
इस समारोह से भरा:
var mydata = '';
<% if(!string.IsNullOrEmpty(Model.PCAssociatedDocuments)) { %>
var mydata = <%= Model.PCAssociatedDocuments %>;
<% } %>
for (var i = 0; i <= mydata.length; i++){
jQuery("#DocumentListByPartRecordsGrid").addRowData(i, mydata[i], "last");
}
कौन सा सफाई से मॉडल से भर जाता है। यह मुद्दा नहीं है। समस्या तब आती है जब हटाने की कार्यक्षमता है, जो इतनी तरह नियंत्रक में वापस स्वरूपित है का उपयोग करते हुए:
<a class='deleteAttachment' style='cursor: pointer;' href='#' onclick='javascript:PCDocumentDelete(" + s.AssociationId.ToString() + ", " + pcId + ");'>Delete</a>
इस समारोह
function PCDocumentDelete(id, pcid) {
if (confirm("Are you sure you want to delete this document?")) {
$.blockUI({
message: "Working...",
css: {
background: '#e7f2f7',
padding: 10
}
});
$.ajax(
{
url: '/DRM/Pc/DeleteAssociation?associationId=' + id + '&pcid=' + pcid,
async: true,
dataType: "json",
success: function(result) {
if (result.Success == true) {
//Reload grid
$.ajax({ async: false });
$("#DocumentListByPartRecordsGrid").setGridParam({ url: "/Drm/Pc/DeAssociatePartRecordsWithDocument?pcid=" + pcid, datatype: 'json', myType: 'GET', page: 1 });
$("#DocumentListByPartRecordsGrid").trigger("reloadGrid");
$.unblockUI();
$.showGlobalMessage('Specified document has been successfully disassociated from this part record.');
}
else {
$.unblockUI();
$.showGlobalMessage('An error occurred deleting the attachment.');
}
},
error: function(res, stat) {
alert(res.toString());
alert(stat.toString());
}
});
return false;
}
else {
return false;
}
}
(showGlobalMessage एक आंतरिक समारोह है कि बनाता है और कहता है एक विशेष रूप से स्वरूपित ब्लॉकयूआई)
अजाक्स नियंत्रक में एक विधि वापस कॉल करता है, लेकिन इससे पहले कि हम इसे दूर करने से पहले समस्या उत्पन्न होती है, तब तक ईन यह महत्वपूर्ण सोचता है, मैं उस कोड को पोस्ट नहीं कर रहा हूं। क्या होता है, अक्सर अकल्पनीय कारणों के लिए, पीसी/DeleteAssociation कहने वाले AJAX का पहला विस्फोट 304 (संशोधित नहीं) प्रतिक्रिया के साथ वापस आ रहा है। मुझे पता है कि जब कुछ भी नहीं बदला जाता है तो उसे प्राप्त किया जाता है जिसे ताज़ा करने की आवश्यकता होती है। लेकिन यह एक प्राप्त नहीं है, इसे एक पद के रूप में माना जाना चाहिए, और मैं इस धारणा के तहत था कि jquery.ajax को तब तक डिजाइन किया गया था जब तक कि अन्यथा निर्देश न दिया गया हो, 304 प्रतिक्रियाएं उत्पन्न न करें। मैं स्पष्ट रूप से यहां कुछ खो रहा हूं और इसे खुद पकड़ने में बहुत लंबा लगा रहा हूं। कोई भी देखता है कि मुझे क्या याद आया? धन्यवाद।
यूप। @guildsbounty, अगर आप एक अजाक्स कॉल को POST के रूप में माना जाना चाहते हैं, तो आपको स्पष्ट रूप से यह कहना होगा; jQuery.ajax डिफ़ॉल्ट करने के लिए डिफ़ॉल्ट है। ऐसा लगता है कि जिस तरह से आप कॉल कर रहे हैं, वह एक जीईटी की उम्मीद कर रहा है, हालांकि, आप इसे यूआरएल पैरामीटर पास कर रहे हैं, भले ही यह एक डिलीट ऑपरेशन प्रतीत होता है, जो थोड़ा अजीब लगता है ... –
अजीब रूप से पर्याप्त है, वूडू बिट अंत में क्या काम किया था। यहां तक कि पोस्ट 304 उत्पन्न कर रहा था। मैंने कैशिंग रोकथाम का उपयोग किया और इसे ठीक किया ... मदद के लिए धन्यवाद। – guildsbounty
@guildsbounty:: डी अजीब। मैंने थोड़ा सा देखा और आईई वास्तव में वहां मुद्दों के लिए लगता है। इसे वापस संपादित किया गया। प्रतिक्रिया के लिए धन्यवाद! – skarmats