我正在尝试使用 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 关注
- 82 浏览
添加回答
举报
0/150
提交
取消