में AJAX के साथ जावास्क्रिप्ट चर अद्यतन करें मेरे पास एक जावास्क्रिप्ट फ़ंक्शन है जिसे संख्यात्मक गणना करने की आवश्यकता है। इस गणना में उपयोग की जाने वाली कुछ संख्याओं को डेटाबेस में संग्रहीत किया जाता है, और वे इस बात पर निर्भर होंगे कि कोई उपयोगकर्ता ऑनलाइन फॉर्म कैसे भरता है। एक बार जब उपयोगकर्ता फॉर्म भर जाता है, तो वे कैलकुलेट बटन पर क्लिक करेंगे। इस समय, जेएस फ़ंक्शन में, मैं डेटाबेस से मूल्य प्राप्त करने के लिए AJAX का उपयोग करना चाहता हूं जो उपयोगकर्ता द्वारा चुने गए किसी अन्य मूल्य से मेल खाता है।रीयल-टाइम
एक साधारण उदाहरण के लिए: 3 आकार के टी-शर्ट हैं, प्रत्येक आकार (डेटाबेस में संग्रहीत) के आधार पर अलग-अलग कीमतों के साथ। उपयोगकर्ता आकार चुनता है, और जब वे कैलकुलेट पर क्लिक करते हैं, तो मैं उनके द्वारा चुने गए आकार से जुड़े मूल्य प्राप्त करने के लिए AJAX का उपयोग करता हूं।
सवाल यह है कि, मैं कुछ चरों को अद्यतन करने के लिए AJAX का उपयोग करना चाहता हूं जिसे मैं बाद में स्क्रिप्ट में उपयोग करूंगा। जिस तरह से मैं इसे करने की कोशिश कर रहा हूं अब काम नहीं करता है, स्क्रिप्ट में परिवर्तनीय AJAX से अद्यतन नहीं होता है, मैं केवल AJAX कॉल के success
फ़ंक्शन के अंदर डेटाबेस से मूल्य तक पहुंच सकता हूं। मैं समझता हूं कि ऐसा इसलिए है क्योंकि प्रकृति द्वारा एसिंक्रोनस में AJAX, और कुछ समय लगता है, सर्वर से डेटा वापस करने की प्रतीक्षा कर रहा है, जबकि फ़ंक्शन अभी भी
निम्न उदाहरण में, AJAX कॉल JSON डेटा देता है , और मेरे पास isjson()
नामक फ़ंक्शन है जो परीक्षण करता है कि लौटाई गई स्ट्रिंग वास्तव में JSON डेटा है।
उदाहरण कोड:
function calculate_cost(){
var price = 0;
var size = $('form#tshirt_form [name="size"] option:selected').val();
$.ajax({
url:'my_script.php',
type:'post',
data:'select=price&table=tshirts.prices&where=size = "' + size + '"',
success:function(data){
if(isjson(data)){
data = $.parseJSON(data);
data = data[0];
price = data['price'];
}else{
//display error getting data
}
}
});
// continue code for calculation
// this alert will display "0", but I want the price from the database in there
alert(price);
//perhaps do other ajax calls for other bits of data
//...
return final_price;
}
क्या किसी को पता है कि मैं यह कैसे पूरा कर सकते हैं, वास्तविक समय में ajax के साथ चर को अद्यतन करने के ??
बहुत बहुत धन्यवाद!
** संपादित करें **
मदद के लिएसभी को धन्यवाद, मैं ajax जा रहा है अतुल्यकालिक के बारे में समझते हैं। मुझे वास्तव में एक उत्तर पसंद आएगा जहां मुझे success
फ़ंक्शन के अंदर गणना जारी रखने की आवश्यकता नहीं है, क्योंकि मेरी वास्तविक समस्या में कुछ अलग-अलग तालिकाओं से कई मान शामिल हैं। मैं भी भविष्य में गणना पर विस्तार करने में सक्षम होना चाहूंगा बिना इसे गड़बड़ कर। यदि यह संभव नहीं है, तो, मुझे इसके साथ रहना होगा। ;-)
** संपादित 2 **
ठीक है, हम इस सवाल का जवाब मिल गया है: जाहिर है यह, सही डॉक्स पृष्ठ पर शीर्ष के पास है: -/अत: क्षमा करें। JQuery AJAX कॉल में async
संपत्ति। http://api.jquery.com/jQuery.ajax/
'डेटा: 'क्वेरी = tshirts.prices से मूल्य का चयन करें जहां आकार ="' + आकार + '' ',' कृपया ऐसा न करें। क्या होगा यदि डेटा: 'क्वेरी = ड्रॉप टेबल उपयोगकर्ता' – karim79
मुझे आशा है कि आप 'डेटा: क्वेरी =' भाग – bububaba
वाह से कुछ मेगा-चालाक इनपुट स्वच्छता करें, धन्यवाद, हाँ मैं यह विनाशकारी हो सकता है –