こんにちは、都市のリストをオートコンプリートしようとしていますが、返された json オブジェクトは、オートコンプリートを表示するために "label":"cityname" というフィールドを必要とするオートコンプリートで使用するためにフォーマットされていないため、次を使用して json オブジェクトを再フォーマットしようとしていますajax呼び出しとそれをグローバル変数に書き込むと、問題は、ajax呼び出しが返されると、私のjsDataが[]空の配列になることです...何が間違っていますか? グローバル変数が値を保持しないのはなぜですか?
http://www.andymatthews.net/read/2012/03/27/jQuery-Mobile-Autocomplete-now-available
<script>
$("#nec").bind("pageshow", function(e) {
var jsData = [];
$.ajax({
url: "http://localhost:8084/REST/resources/cities",
data:{},
type: 'GET',
crossDomain: true,
dataType: 'jsonp',
jsonp: 'jsonp',
jsonpCallback: 'jsoncallback',
error: function(error){
console.log(error);
},
success: function(result) {
for (i = 0; i < result.length; i++){
jsData.push({label:result[i].name, value:result[i]});
}
console.log(JSON.stringify(jsData));
},
});
$("#textinput").autocomplete({
target: $('#suggestions'),
source: jsData,
minLength: 1
});
});
</script>
私はJSの面で少し新鮮なので、まだコツをつかんでいないことがいくつかあります