2012-07-27 20 views
7

मैं jquery में AJAX कॉल में चर का उपयोग करने की कोशिश कर रहा हूं लेकिन यह काम नहीं कर रहा है। चाल चर चर अलग-अलग मान होते हैं। कृपया निम्नलिखित कोड जांचें:AJAX कॉल में परिवर्तनीय डेटा JQUERY

var $move = 'next'; 

$.ajax({ 
    type: "POST", 
    url: "somephp.php", 
    data: {$move:1}, 
}); 

डेटा में $ चाल चर का उपयोग करने का कोई भी तरीका सुझाएं।

+0

डेटा महत्वपूर्ण मूल्य जोड़े स्वीकार करता है। अब के लिए आप अपने $ कदम कुंजी के रूप में कार्य कर रहे हैं और यही कारण है कि यह काम नहीं कर रहा है। इसे एक मूल्य बनाएं और इसे काम करना चाहिए .. डेटा की तरह: {"डेटा": $ move} – AdityaParab

+1

मुझे लगता है कि उपयोगकर्ता क्या पूछ रहा है कि मूल्य जोड़ी के मुख्य भाग के लिए कुछ अलग कैसे पास किया जाए। –

+1

क्या होगा यदि वह वास्तव में चर के रूप में चर का उपयोग करना चाहता है? –

उत्तर

3

यह होना चाहिए

$.ajax({ 
    type: "POST", 
    url: "somephp.php", 
    data: {"data":$move}, 
}); 
+0

$ चाल कुंजी कुंजी नहीं है। –

+0

मुझे लगता है कि वह $ कदम का मूल्य पोस्ट करना चाहता है। चलिए उसे स्पष्ट करने के लिए प्रतीक्षा करें। :) – AdityaParab

+1

असल में, मुझे लगता है कि '$ move' एक चर है, और ओपी इसे कुंजी के रूप में उपयोग करने के लिए चाहता है, और मान '1' होना चाहिए। अभी तक केवल वोल्फ्राम इसे सही मिला है! – adeneo

8

आप एक चर-चर अपने पोस्ट अनुरोध में करना चाहते हैं, आप एक अलग JSON ऑब्जेक्ट बनाने के लिए की आवश्यकता होगी:

var name = 'next'; 
var dataObject = {}; 
dataObject[name] = 1; 

$.ajax({ 
    type: "POST", 
    url: "somephp.php", 
    data: dataObject, 
    complete : function() { 
    // success! 
    } 
}); 
+1

मुझे इसे बहुत सारे शोध के साथ समझना पड़ा, इसलिए संदर्भ के लिए, जब 'डेटा' एक प्लेन ऑब्जेक्ट है और स्ट्रिंग नहीं है, तो' पूर्ण: फ़ंक्शन (प्रतिक्रिया) 'का उपयोग करके एक प्लेन ऑब्जेक्ट देता है। उदाहरण के लिए, 'अलर्ट (प्रतिक्रिया) 'रिटर्न' [ऑब्जेक्ट ऑब्जेक्ट] 'और' console.log (प्रतिक्रिया) 'रिटर्न' ऑब्जेक्ट {readyState: 4, प्रतिक्रिया पाठ:" उदाहरण ", स्थिति: 200, स्थिति टेक्स्ट:" ठीक है "}' । तो 'प्रतिक्रिया टेक्स्ट' को पुनः प्राप्त करने के लिए, 'सफलता: फ़ंक्शन (प्रतिक्रिया)' का उपयोग करें। –

0

$ Move वैरिएबल के मान को पोस्ट करने के लिए, यह करें:

$.ajax({ 
    type: "POST", 
    url: "somephp.php", 
    data: {move: $move} 
}); 
1

आप संपत्ति, उपयोग सरणी अंकन के नाम के रूप में चर का उपयोग करना चाहते हैं की तरह data: $move+"=1"

+0

सिंटेक्स त्रुटि :) – AdityaParab

+0

धारणा के साथ प्रतिक्रिया उपयोगकर्ता चर को एक कुंजी के रूप में चाहता है। –

+0

+1, यह काम करता है और अधिकांश अन्य उत्तरों के विपरीत (बिल्कुल मेरा नहीं :)), यह सही समस्या हल करता है। – Wolfram

9

कुछ कर सकते हैं।

There are two ways to access object members: dot notation and bracket notation (a.k.a. subscript operator).

सरणी संकेतन के साथ आपका कोड:

var $move = 'next'; 
var data = {}; 
data[$move] = 1; 

$.ajax({ 
    type: "POST", 
    url: "somephp.php", 
    data: data, 
}); 

The example on jsfiddle (। पोस्ट स्पष्ट रूप से काम नहीं करता है, तो कंसोल जाँच को देखने के लिए क्या पोस्ट हो जाती है)

+1

मुझे एक समान समस्या थी (नाम के भीतर एक चर को अनुमति देने के लिए आवश्यक) और यह वही है जो आवश्यक था। – Voodoo

-1

ऐसा लगता है कि आप जावास्क्रिप्ट में एक PHP चर का उपयोग करने की कोशिश कर रहे हैं। आप डेटा इकट्ठा करने और इसे AJAX कॉल में पास करने के लिए .serialize का उपयोग कर सकते हैं। लेकिन मूल्य जोड़ी के नाम के लिए अलग-अलग नामों के साथ कॉल करने के लिए, आपको उस जानकारी को आपके द्वारा पारित किए जा रहे PHP पृष्ठ से इकट्ठा करने की आवश्यकता होगी।

उदाहरण:

$.get("jQueryFunctions.php?action=checkCaptula",$('#resetPasswordDiv :input').serialize()).done(function(data){ .... 

हालांकि यह एक .ajax के बजाय एक .Get है, यह सिर्फ .ajax कॉल के लिए आशुलिपि है। पासवर्डडिव में नाम और आईडी के साथ HTML इनपुट शामिल हैं। यह जानकारी एकत्र करता है और इसे प्रोसेसिंग के लिए php पेज पर भेजता है।

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