我正在尝试使用 PHP 和 AJAX 制作一个 Web 应用程序。它应该从 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>
1 回答
Helenr
TA贡献1780条经验 获得超3个赞
您的 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>
';
}
如您所见,我使用 -> (Object) 而不是 [] (array)
- 1 回答
- 0 关注
- 58 浏览
添加回答
举报
0/150
提交
取消