2012-10-06 25 views
16

इसलिए मैं ऐसे टूल पर काम कर रहा हूं जो एक पृष्ठ के लिए लंबे समय से अनुरोध कर सकता है।मैं jQuery AJAX कॉल से प्रतिक्रिया समय कैसे प्राप्त करूं?

मैं jQuery अजाक्स (http://api.jquery.com/jQuery.ajax/) का उपयोग करके ऐसा कर रहा हूं और मैं प्रतिक्रिया समय प्राप्त करने का सबसे अच्छा तरीका जानना चाहता हूं।

मुझे एक धागा मिला (http://forum.jquery.com/topic/jquery-get-time-of-ajax-post) जो जावास्क्रिप्ट में "तिथि" का उपयोग करने का वर्णन करता है, लेकिन क्या यह विधि वास्तव में विश्वसनीय है?

मेरे कोड का एक उदाहरण नीचे

$.ajax({ 
    type: "POST", 
    url: "some.php", 
}).done(function() { 
    // Here I want to get the how long it took to load some.php and use it further 
}); 
+1

यह उत्तर देखें: http://stackoverflow.com/a/3700307/889678 – mgraph

उत्तर

32

इस हो सकता है सबसे सरल विधि अजाक्स कॉल करने से पहले var ajaxTime= new Date().getTime(); जोड़ने के लिए हो सकता है और done में वर्तमान समय की गणना करने में कितना समय अजाक्स कॉल करने के लिए ले लिया मिलता है बनाना।

var ajaxTime= new Date().getTime(); 
$.ajax({ 
    type: "POST", 
    url: "some.php", 
}).done(function() { 
    var totalTime = new Date().getTime()-ajaxTime; 
    // Here I want to get the how long it took to load some.php and use it further 
}); 

या आप यह जानना चाहते हैं कि यह सर्वर पक्ष पर कितना समय लगता है। वही करें और कुछ.php से वापसी मान में समय प्रिंट करें।

+12

आप लंबी 'नई तिथि()। GetTime() 'के बजाय' Date.now() 'का उपयोग कर सकते हैं। यह न केवल पात्रों को बचाता है बल्कि 'दिनांक' वस्तु का निर्माण भी बचाता है। –

+1

@ दिनांक .now() 'के बारे में @ डैनियल बॉमर - यह कुछ पुराने ब्राउज़रों (जैसे IE8) में उपलब्ध नहीं है, आपको पॉलीफ़िल की आवश्यकता हो सकती है, [MDN] देखें (https://developer.mozilla.org/en/docs/Web/जावास्क्रिप्ट/संदर्भ/Global_Objects/दिनांक/अब) –

+0

डाउनवॉटिंग - एकाधिक अनुरोधों के लिए काम नहीं करेगा – Anonymous

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