2015-06-07 152 views
4

大家好我知道這個主題有一些結果,但我不想嘗試做任何過於高級的事情,只是想了解基礎知識。出於某種原因,此代碼的警報工作,並打印出正確的數組信息,但我似乎無法得到它的自動完成工作? https://jqueryui.com/autocomplete/將php數組傳遞給ajax/jquery

var oReq = new XMLHttpRequest(); //New request object 
oReq.onload = function() { 
    var res = oReq.responseText; 
    AC(res); 
}; 
oReq.open("get", "get-data.php", false); 
oReq.send(); 

function AC(res){ 
$(function() { 
    alert(res); 
    $("#tags").autocomplete({ 
     source: res 
    }); 
}); 
} 

因此警報(RES)的功能AC(工作),但它仍然沒有填充源?

我GET-data.php看起來像這樣

<?php $arr = array("ActionScript", 
     "AppleScript", 
     "Asp"); 

echo json_encode($arr); ?> 

我會很感激的任何指導,即使我必須尋找更多的

回答

3

JSON.unserialize在JavaScript。

source: JSON.parse(res); 

發生這種情況是由於未解碼的JSON。 JSON以字符串形式到達,以便alert()可以正常顯示接收到的數據,但是當您發佈到源代碼時,必須發佈Object - 需要將字符串解碼爲對象。 ;) 產生的代碼:

var oReq = new XMLHttpRequest(); //New request object 
oReq.onload = function() { 
    var res = oReq.responseText; 
    AC(res); 
}; 
oReq.open("get", "get-data.php", false); 
oReq.send(); 

function AC(res){ 
$(function() { 
    alert(res); 
    $("#tags").autocomplete({ 
     source: JSON.parse(res) 
    }); 
}); 
} 

HTH

+0

瓦倫丁您好,感謝您的快速反應。我試過你建議的思路,認爲這一切都有道理,但仍然不適合我:(還有什麼其他的你可以想到的? –

+0

發佈您的代碼以下作爲不同的問題的情況;) –

+1

嗨瓦倫丁我得到它與J​​SON的工作。解析感謝您的邏輯幫助,雖然:) –