我正在尝试运行一个php脚本,只需点击一下按钮即可从数据库中提取数据。我想使用ajax,因此页面不会刷新。我已经使用正常的帖子/提交进行了页面刷新测试,但它可以工作,但我在使用ajax显示数据时遇到了问题。这是我的代码:
<form method="get" id="ghosts">
<div id=rightc>
<h7>Select Hosts:</h7>
<br></br>
<select id="group" name="group" onchange='this.form.submit()'>
<?php
$link=mysql_connect($mysqlserver, $username, $password) or die ("Error connecting to mysql server: ".mysql_error());
mysql_select_db($dbname, $link) or die ("Error selecting specified database on mysql server: ".mysql_error());
$gquery=" SELECT groupname FROM groups";
$gresult=mysql_query($gquery) or die ("Query to get data from firsttable failed: ".mysql_error());
while ($grow=mysql_fetch_array($gresult)) {
$groupname=$grow["groupname"];
echo "<option>$groupname</option>";
}
?>
</select>
<input type="hidden" name="ghosts" value="1" />
<noscript> <input type="submit" name="ghosts" id="group" value="Choose Group" /></noscript>
</form>
答案 0 :(得分:4)
如果你的search.php文件返回了HTML,并假设ajax工作(看起来应该如此),那你就试图把内容放到一个不存在的元素中。
$(".result").html(data);
它需要存在于页面上。将它添加到某处。
<div class="result"></div>
但是,由于此条件if(isset($_POST['ahosts']))
请求表单中的参数不使用错误的请求方法,因此您的PHP不会返回任何数据。
您正在使用GET($.get()
),因此在PHP中需要阅读
if(isset($_GET['ahosts']))
然后在表单中添加或,为该按钮添加名称
<input type="hidden" name="ahosts" value="1" />
<!-- or -->
<button type="submit" name="ahosts" />
答案 1 :(得分:0)
我认为你在这里犯了错误:
<div ng-style="{'background-image': 'url(/images/' + backgroundImageUrl + ')'}"></div>
您检查ng-style
POST请求是否实际发送了GET请求...
阅读文档https://api.jquery.com/jquery.get/
因此,如果您将代码更改为:
if(isset($_POST['ahosts']))
这将返回true,现在您将收到回复