(महत्वपूर्ण) संपादित करें 3: testajax2.php को स्वयं चलाकर और AJAX नहीं चला रहा है। अवधि लगभग उसी के बारे में है, 1.02-1.03 एस। तो मुझे लगता है कि इसका मतलब है कि समस्या PHP-MYSQL या XAMPP में है ?? जब phpmyadmin क्वेरी के माध्यम से भाग गया, तो परिणाम यहां दिया गया है: पंक्तियों को दिखा रहा है 0 - 2 9 (~ 50 कुल, क्वेरी 0.0015 सेकंड)। ऐसा लगता है कि समस्या अजाक्स में नहीं है, लेकिन शायद PHP में। मदद कृपया ... (मैं भी सिर्फ सवाल शीर्षक संपादित किया है।)MySQL के साथ PHP धीमा
उत्तर: मेजबान ”C:\Windows\System32\drivers\etc”
127.0.0.1 localhost
सवाल से पहले में स्थित फ़ाइल निम्नलिखित पंक्ति जोड़ दें : क्या Jquery Ajax के लिए दूसरी तरफ एसक्यूएल प्रश्नों के साथ सामान्य है न्यूनतम अवधि 1 सेकंड है? मैंने
$.get
,
$.post
,
$.getjson
,
$.ajax({type:'POST'})
,
$.ajax({type:'GET'})
की कोशिश की है। जैसा कि मैंने कहा है, यह न्यूनतम है, यह लगभग 3 सेकंड तक भी बदतर हो सकता है। मुझे संदेह है कि यह एसक्यूएल प्रश्न है, हालांकि जब मैं उन्हें phpmyadmin में आज़माता हूं, तो परिणाम बहुत तेजी से आते हैं।
इससे कोई फर्क नहीं पड़ता कि प्रश्न बहुत सरल हैं और तालिका में केवल 2 तत्व हैं, यह अभी भी 1 सेकंड न्यूनतम का पालन करेगा। मैं नवीनतम XAMPP का उपयोग कर रहा हूं, और मुझे नहीं पता कि यह महत्वपूर्ण है, लेकिन मैं स्थानीयहोस्ट और 127.0.0.1 के माध्यम से फ़ाइलों तक पहुंच रहा हूं। धन्यवाद!
संपादित करें: उत्तर के लिए धन्यवाद, दोस्तों। मैं इसे एक स्थानीय वातावरण पर चला रहा हूं, उसी लैपटॉप पर मैंने इन फ़ाइलों को बनाया है। Jquery अद्यतन किया गया है। लौटाया गया मूल्य/सरणी json_encoded है। मैं mysqli का उपयोग कर रहा हूँ। डेटाबेस इनो डीबी में है, और भीतर केवल 5 टेबल हैं, और उन पर शायद ही कुछ भी है। यहाँ एक बहुत ही सरल नमूना क्वेरी है:
index.php
var test_id =2;
testcall();
function testcall(){
$.ajax({
url: 'testajax2.php',
type: 'POST',
data: {test_id: test_id},
success: function(data){
}
});
}
testajax2.php
$mysqli = new mysqli('localhost', 'root', '', 'testdb');
$mysqli->set_charset("utf8");
if(mysqli_connect_errno()) {
echo "Connection Failed: " . mysqli_connect_errno();
exit();
}
$testreceive = $_POST['test_id'];
$query = "SELECT First_Name from tblperson";
$result = $mysqli->query($query);
$row = $result->fetch_all(MYSQLI_ASSOC);
echo json_encode($row);
tblperson 50 रिकॉर्ड में शामिल है, और वहाँ केवल 4 स्तंभ हैं। फायरबग के मुताबिक, यह बेहद सरल काम करने के लिए 1.03 ले गया। मुझे यकीन नहीं है कि इसका वास्तव में क्या अर्थ है, लेकिन फायरबग में नेट टैब के माध्यम से देखकर, बार पूरी तरह बैंगनी है। 0 और 1.03 प्रतीक्षा कर रहा है। + 1.03 और 0 प्राप्त करना।
संपादित 2: इससे कोई फर्क नहीं पड़ता कि मैं उन्हें json_encode($row)
या foreach($row as $value){ echo $value['First_Name']; }
के रूप में भेजता हूं। यह अभी भी कम से कम 1 सेकंड के बारे में होगा। मैंने क्रोम और सफारी पर कोशिश की है, और हालांकि मेरे पास सही अवधि नहीं है, मैं कह सकता हूं कि यह वही है। लेकिन कोई एसक्यूएल क्वेरी के साथ सरल AJAX कॉल के लिए। अगर मुझे सही याद है, तो यह बहुत तेज़ है। मैं एक नमूना और अवधि उत्पादन के साथ वापस आऊंगा।
हमें अधिक जानकारी की आवश्यकता है, आपका संदर्भ बहुत अस्पष्ट है। क्या आपके पास एक लिंक है जहां हम इसे आजमा सकते हैं? आपके पास एक साथ कितने AJAX कॉल हैं? क्या आपका पर्यावरण स्थानीय या दूरस्थ है? .... –
क्या आप प्रासंगिक कोड दिखा सकते हैं? –
मेरे लिए/मेरा सेटअप यह सामान्य नहीं है .. स्थानीय रूप से मेरे AJAX अनुरोध (औसतन, फायरबग के अनुसार) 140ms के भीतर पूरा हो जाते हैं। लेकिन जैसा कि दूसरी टिप्पणी कहती है .. हमें नहीं पता कि आपकी मशीन पर क्या हो रहा है, स्क्रिप्ट कितनी जटिल हैं। – Dale