पहली बार जब कोई उपयोगकर्ता मेरी वेबसाइट पर जा रहा है, तो मैं कुछ एजेक्स कॉल का उपयोग करके विभिन्न स्रोतों से बहुत सारी जानकारी खींच रहा हूं। AJAX कॉल किए जाने के बाद मैं पृष्ठ को फिर से लोड कैसे करूं?सभी AJAX कॉल पूर्ण होने के बाद मैं पृष्ठ को फिर से लोड कैसे करूं?
if(userVisit != 1) {
// First time visitor
populateData();
}
function populateData() {
$.ajax({
url: "server.php",
data: "action=prepare&myid=" + id,
dataType: "json",
success: function(json) {
if(json.error) {
return;
}
_id = response[json].id;
getInformation(_id);
}
});
}
function getInformation(id) {
$.ajax({
url: "REMOTESERVICE",
data: "action=get&id=" + id,
dataType: "json",
success: function(json) {
if(json.error) {
return;
}
$.ajax({
url: "server.php",
data: "action=update&myid=" + id + '&data=' + json.data.toString(),
dataType: "json",
success: function(json) {
if(json.error) {
return;
}
}
});
}
});
}
तो क्या कोड है कि यह एक नया उपयोगकर्ता (populateData
समारोह) के लिए पूर्वनिर्धारित पहचानकर्ताओं की सूची हो जाता है और एक तीसरे पक्ष सेवा (getInformation
समारोह) से और अधिक जानकारी प्राप्त करने के लिए उन्हें का उपयोग करता है। यह getInformation
फ़ंक्शन किसी तृतीय पक्ष सर्वर से पूछताछ करता है और एक बार जब सर्वर कुछ डेटा देता है, तो वह उस डेटा को मेरे सर्वर पर किसी अन्य AJAX कॉल के माध्यम से भेजता है। अब मुझे यह जानने का एक तरीका है कि सभी AJAX कॉल कब पूरा हो गए हैं ताकि मैं पृष्ठ को फिर से लोड कर सकूं। कोई सुझाव?
धन्यवाद। लेकिन क्या होगा यदि 'getInformation' फ़ंक्शन' में 'सफलता' कॉलबैक के अंदर मेरे सर्वर पर कुछ AJAX कॉल अभी भी लंबित हैं? क्या यह इस पर विचार किए बिना पेज को रीफ्रेश नहीं करेगा? या क्या मैं कुछ न कुछ भूल रहा हूं? – Legend
@Legend - हां, यदि आप सब कुछ पूरा होने तक देरी करना चाहते हैं, तो बस '$ (दस्तावेज़) .ajaxStop (function() {location.reload (true);}); 'और यह सभी निष्पादित होगा वे अनुरोध पूरा हो गए। –
यह कुल समझ में आता है लेकिन किसी कारण से, जब मैं यह कॉल डालता हूं, तो पृष्ठ हर समय ताज़ा रहता है। – Legend