没有通过jQuery ajax帖子返回的SQL数据

时间:2011-02-13 16:58:31

标签: php jquery sql mysql

我在使用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;

还有其他建议吗?

4 个答案:

答案 0 :(得分:1)

您正在发布数据,但您的脚本正在GET中查找。

编辑以回应问题中代码的大量重写:

  • $.ajax的第一个参数应该是URL。
  • 您缺少设置对象中的{
  • 您的=参数使用:代替type
  • 您没有做任何事情来阻止表单的正常提交,因此在Ajax发送的HTTP请求返回之前,表单将被提交并加载新页面。

答案 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 ???