2010-02-03 21 views
10

का उपयोग कर AJAX कॉल में पासिंग सरणी jQuery कोड 1.2.6 का उपयोग कर मेरे लिए निम्न कोड काम करता है लेकिन 1.4 में ब्रोकर त्रुटि का कारण बनता है।jQuery 1.4

var items = new Array(); 
items[0] = "Item 1"; 
items[1] = "Item 2"; 
items[2] = "Item 3"; 

var dataToSend = {'_service' : myService, '_program' : myProgram, 'selections' : items} ; 

$.ajax({  
type: "post", 
url: myURL, 
dataType: "text", 
data: dataToSend, 
success: function(request) {$('#results').html(request); } // End success 
}); // End ajax method 

दलाल त्रुटि मैं इंगित करता है कि क्या चयन भेजी जा रही है है के चयनों [] '

त्रुटि:। (अमान्य वर्ण "[" फ़ील्ड नाम में "चयन []" यह चरित्र फ़ील्ड नामों में अनुमति नहीं है।)

क्या jQuery में AJAX कॉल में सरणी को कैसे प्रबंधित किया जाता है? या यह सरणी पास करने का गलत तरीका था?

किसी भी मदद की सराहना की जाएगी।

संपादित करें: @ जेवेनेमा के उत्तर ने मेरी समस्या हल की। "पारंपरिक" सेटिंग के साथ आप jQuery को पिछले संस्करण की तरह पैरामीटर को संभालने का कारण बन सकते हैं। यहां कुछ अतिरिक्त लिंक दिए गए हैं जो परिवर्तन jQuery.ajax(), jQuery.param() और ब्लॉग पोस्ट jQuery 1.4 $.param demystified के बारे में बात करते हैं।

या तो

jQuery.ajaxSettings.traditional = true; 

की एक सामान्य बयान या ajax कॉल में एक अतिरिक्त विकल्प

$.ajax({  
traditional: true, 
type: "post", 
url: myURL, 
dataType: "text", 
data: dataToSend, 
success: function(request) { 
    $('#results').html(request); 
} // End success 
}); // End ajax method 

उत्तर

21

jQuery 1.4 को सरणी भेजने के लिए PHP वाक्यविन्यास का उपयोग करने के लिए अद्यतन किया गया था। आप का उपयोग करके पुरानी शैली में स्विच कर सकते हैं:

jQuery.ajaxSetting.traditional = true; 

जानकारी के लिए here देखें।

+3

इसके अलावा, आपको एक अजाक्स कॉल के लिए इसे करने का तरीका उल्लेख करना चाहिए: पारंपरिक जोड़ें: $ AJAX ऑब्जेक्ट के लिए सही। –

+0

क्या इस परिणाम को 'getJSON()' के साथ प्राप्त करने का कोई तरीका है या मुझे 'AJAX() 'का उपयोग करना चाहिए? – hippietrail

0

आप JSON सारणी के रूप में सरणी निर्दिष्ट कर सकते हैं के रूप में।

'selections' : {items : ['Item 1', 'Item 2', 'Item 3']} 

मुझे लगता है कि यह भी काम करेगा।

'selections' : {items : items} 

अतिरिक्त संसाधन के लिए here देखें।

संबंधित मुद्दे