簡體   English   中英

將php數組傳遞給Ajax / jQuery

[英]passing php array to Ajax/jQuery

大家好我知道這個主題有一些結果,但我並沒有嘗試做任何太高級的事情,只是試圖了解基礎知識。 由於某種原因,此代碼警報工作並打印出正確的數組信息,但我似乎無法讓它適用於自動完成? https://jqueryui.com/autocomplete/

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); ?>

即使我需要更多信息,我也會感激任何指導

JSON.unserialize在javascript中。

source: JSON.parse(res);

這是因為未解碼的JSON。 JSON以字符串形式到達,因此alert()可以正常顯示接收的數據,但是當您發布到源時,您必須發布對象 - 需要將字符串解碼為對象。 ;)結果代碼:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM