我在使用jQuery,PHP和MySQL从页面返回数据时遇到了一些问题。我想在index.php页面上显示查询结果。使用getResults.php从数据库中获取结果。
当我手动运行getResults.php?id = 123文件时,一切正常。在这种情况下,我看到了我想要的结果。但是,当我想在index.php上的提交表单中发布'id'123时,我看不到jQuery / getResults.php返回的任何结果。唯一改变的是URL:index.php?id = 123。但是,我没有看到任何结果或错误消息......
任何一个想法?
getResults.php文件
$search = mysql_real_escape_string( isset ($_POST['id']));
if ($search) {
$friend = mysql_query( " SELECT * FROM reviews WHERE fbuserid = '$search' ORDER BY datumtijd DESC" );
if ( $friend ) {
while ($row = mysql_fetch_array ($friend) ) {
echo "Show some results...";
}
} else {
echo "No matches found";
}
} else {
echo "Query not succesfull";
}
index.php文件
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
$("#submit").click(function) {
event.preventDefault();
$.ajax({
url:"getResults.php",
type:"GET",
data: "id="+this.value,
success: function(data) {
$("#results").html(data);
}
});
}
return false;
});
</script>
<div>
<form>
<input type="text" name="id">
<input type="submit" value="submit" id="submit">
</form>
</div>
<div id="results"></div>
编辑: 谢谢,一切都是为了您的意见。然而,我仍然不在那里......你可能会注意到,我对jQuery和PHP并不熟悉。请参阅上面脚本中的更改。简而言之: - 如果($ query)不成功,我添加了false语句; - 将$ .post方法更改为$ .ajax; - 在PHP文件中将GET更改为POST;
还有其他建议吗?
答案 0 :(得分:1)
您正在发布数据,但您的脚本正在GET中查找。
编辑以回应问题中代码的大量重写:
$.ajax
的第一个参数应该是URL。 {
。 =
参数使用:
代替type
。 答案 1 :(得分:1)
在第一行:
$search = mysql_real_escape_string( isset ($_POST['id']));
尝试将$_POST
更改为$_GET
:
$search = mysql_real_escape_string( isset ($_GET['id']));
^^^^^
答案 2 :(得分:0)
使用jQuery ajax方法在脚本中实现ajax功能要好得多。 因为它更普遍而不是特定于一种方法。 下面是使用ajax方法的示例代码。
$(document).ready(function()
{
$("#submit").click(function)
{
$.ajax(
type="GET",
url:"getResults.php",
data: "id="+this.value,
success: function(msg)
{
$("#results").html(msg);
}
);
}
});
要查看更多示例,请参阅JQUERY API参考。
Ĵ
答案 3 :(得分:0)
if ($query) {
中的是$ query!== false ???