我正在嘗試使用 PHP 和 AJAX 制作一個網絡應用程序。它應該從 Elasticsearch 檢索數據而不刷新頁面(實時搜索)。是否可以在elasticsearch索引上實現這樣的檢索?為此,我制作了這兩個文件:index2.php<?php session_start();?><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Ajax-Trials</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" /> </head> <body> <div class="container"> <br /> <h2 align="center">Ajax Live Data Search using Jquery, PHP, Elasticsearch</h2><br /> <div class="form-group"> <div class="input-group"> <span class="input-group-addon">Search</span> <input type="text" name="search_text" id="search_text" placeholder="Search by Customer Details" class="form-control" /> </div> </div> <br /> <div id="result"></div> </div> </body></html><script>$(document).ready(function(){ load_data(); function load_data(query) { $.ajax({ url:"fetch2.php", method:"POST", data:{query:query}, success:function(data) { $('#result').html(data); } }); } $('#search_text').keyup(function(){ var search = $(this).val(); if(search != '') { load_data(search); } else { load_data(); } });});</script>
2 回答

Smart貓小萌
TA貢獻1911條經驗 獲得超7個贊
您的 JSON 格式顯示返回的數據是一個對象。要訪問對象值,請編寫以下代碼:
foreach($results as $r)
{
$output .= '
<tr>
<td>'.$r->_id.'</td>
<td>'.$r->_source->name.'</td>
<td>'.$r->_source->countrycode.'</td>
<td>'.$r->_source->district.'</td>
<td>'.$r->_source->population.'</td>
</tr>
';
}
正如你所看到的,我使用 -> (對象)而不是 [] (數組)
- 2 回答
- 0 關注
- 124 瀏覽
添加回答
舉報
0/150
提交
取消