2012-05-01 13 views
76

क्या ऑब्जेक्ट और अन्य पैरामीटर को $.ajax() अनुरोध के साथ भेजना संभव है?jquery form.serialize और अन्य पैरामीटर

उदाहरण:

$.ajax({ 
    type : 'POST', 
    url : 'url', 
    data : { 
     $('#form').serialize(), 
     par1 : 1, 
     par2 : '2', 
     par3: 232 
    } 
} 

यदि नहीं अन्य पैरामीटर के साथ मिलकर एक फ़ॉर्म सबमिट करने का सबसे अच्छा तरीका है।

धन्यवाद

उत्तर

159

serialize() प्रभावी रूप से, एक वैध क्वेरी स्ट्रिंग में प्रपत्र मूल्यों बदल जाता है जैसे आप बस स्ट्रिंग को संलग्न कर सकते हैं:

$.ajax({ 
    type : 'POST', 
    url : 'url', 
    data : $('#form').serialize() + "&par1=1&par2=2&par3=232" 
} 
+10

भाई नारियल – Falcon

+6

बहुत धन्यवाद आप का क्या मतलब है @Falcon * नारियल * यहाँ में? – Shafizadeh

+0

मैं परिवर्तनीय –

55

वैकल्पिक रूप से आप form.serialize() $ परम के साथ इस्तेमाल कर सकते हैं (ऑब्जेक्ट) यदि आप अपने ऑब्जेक्ट्स को कुछ ऑब्जेक्ट वैरिएबल में स्टोर करते हैं। उपयोग होगा:

var data = form.serialize() + '&' + $.param(object) 

आगे के संदर्भ के लिए http://api.jquery.com/jQuery.param देखें।

+8

सहेजा है मुझे यह पसंद है। इसका मतलब है कि मुझे बदसूरत क्वेरीस्ट्रिंग को देखने की ज़रूरत नहीं है! –

+0

हाँ बहुत बेहतर – JSHelp

+4

यह अब तक बेहतर तरीका है। स्वीकृत उत्तर गन्दा है और किसी भी उत्पादन अनुप्रयोग में कभी भी इसका उपयोग नहीं किया जाना चाहिए। – FastTrack

5

मैं नहीं जानता लेकिन इनमे से कोई भी मेरे लिए काम किया, तब मैं इस का इस्तेमाल किया और यह काम किया: प्रपत्र के धारावाहिक सरणी में

यह महत्वपूर्ण मूल्य जोड़ी के रूप में संग्रहीत किया जाता है

हम नए मूल्य या मूल्यों धक्का दिया यहां फॉर्म वैरिएबल में और फिर हम इस चर को सीधे पास कर सकते हैं।

var form = $('form.sigPad').serializeArray(); 
var uniquekey = { 
     name: "uniquekey", 
     value: $('#UniqueKey').val() 
}; 
form.push(uniquekey); 
0

आप एक और रूप की सामग्री के साथ jQuery का उपयोग कर एक auxiliar प्रपत्र बना सकते हैं और उसके बाद thath प्रपत्र अन्य पैरामीटर जोड़ें ताकि आप केवल ajax कॉल में यह क्रमानुसार करने की है।

function createInput(name,value){ 
    return $('<input>').attr({ 
     name: name, 
     value: value 
    }); 
} 
$form = $("<form></form>"); 
$form.append($("#your_form input").clone()); 
$form.append(createInput('input_name', 'input_value')); 
$form.append(createInput('input_name_2', 'input_value_2')); 
.... 

$.ajax({ 
    type : 'POST', 
    url : 'url', 
    data : $form.serialize() 
} 
-1

मैं समस्या के तहत समस्या को ठीक करता हूं; $ _REQUEST [ 'मान'] या $ _GET [ 'आईडी'] url एक ही प्राप्त methode साथ डेटा भेजने

$.ajax({ 
    url: 'includes/get_ajax_function.php?value=jack&id='+id, 
    type: 'post', 
    data: $('#b-info1').serializeArray(), 

और मिल मूल्य

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