/ / jQuery AJAX समस्या - काम करने के लिए मेरे काम नहीं मिल सकता है - jquery, AJAX

jQuery AJAX समस्या - काम करने के लिए मेरे काम नहीं मिल सकता है - jquery, AJAX

मैं jquery के लिए एक स्वत: पूर्ण प्लगइन को अनुकूलित करने का प्रयास कर रहा हूं। यह बेहद सरल होना चाहिए।

यह नामों की सूची खींचने के लिए माना जाता हैautocomplete.php और फिर "लुकअप" को भेजें। जब मैं इसे मैन्युअल रूप से टाइप करता हूं तो यह काम करता है, लेकिन जब मैं फ़ंक्शन getnames के साथ नाम प्राप्त करने का प्रयास करता हूं () यह काम नहीं करता है। क्या मैं डेटा को सही तरीके से वापस कर रहा हूं? Php फ़ाइल भी काम करती है।

var options, a;

function getnames() {
$.ajax({
type:"POST",
dataType:"json",
data:{ },
url:"autocomplete.php",
timeout:1000,
success:function (data) {
return data;
}
});
}

// Doesn"t work:

// DOC READY
$("#members").one("click", function () {
options = {
lookup:getnames()
};
a = $("#members").autocomplete(options);
});

// Works:

// DOC READY
$("#members").one("click", function () {
options = {
lookup:["name1","name2"]
};
a = $("#members").autocomplete(options);
});

autocomplete.php

<?
header("Content-Type: application/json", true);
$info = array("name1","name2");
echo json_encode($info);
?>

उत्तर:

उत्तर № 1 के लिए 1

आपको पहले नाम मिल गए हैं और AJAX प्रतिक्रिया के लिए प्रतीक्षा करें। जब यह आता है तो आपको स्वतः पूर्ण करना होगा।

जैसे (Untested):

function getnames() {
$.ajax({
type:"POST",
dataType:"json",
data:{ },
url:"autocomplete.php",
timeout:1000,
success:function (data) {
options = {
lookup:data
};
a = $("#members").autocomplete(options);
}
});
}

$("#members").one("click", function () {
getnames();
}

उत्तर № 2 के लिए -1

इसे इस्तेमाल करे:

 function getnames() {
var myData;
$.ajax({
type:"POST",
dataType:"json",
data:{ },
url:"autocomplete.php",
timeout:1000,
success:function (data) {
myData = data;
}
});
return myData;
}