获取URL参数并使用ajax查询mysql数据

26 浏览
0 Comments

获取URL参数并使用ajax查询mysql数据

我想从URL中获取一个参数。URL的格式如下所示:

www.example.com/?v=12345

我想要获取这个参数,并使用ajax查询我的mysql数据库来获取正确的数据。

所以我在这里有我的ajax调用:

$.ajax({
type:"POST",
url:"ajax2.php",
dataType:"json",
success:function(response){
var id = response['id'];
var url = response['url'];
var name = response['name'];
var image = response['image'];
},
error:function(response){
alert("发生错误");
}
});

正如您所看到的,我想要获取的数据都在一个json数组中,并将保存在javascript变量中。

这是我的php文件:

id";
$currentname = "$row->name";
$currenturl = "$row->url";
$currentimage = "$row->image";
$array = array('id'=>$currentid,'url'=>$currenturl, 'name'=>$currentname,'image'=>$currentimage);
 echo json_encode($array);
}
?>

我想要查询正确的变量的部分已经加粗显示。我不知道如何查询它。并且还不知道如何以正确的形式获取URL参数。

有人可以帮忙吗?谢谢!

0
0 Comments

问题的出现的原因是需要从URL中获取参数,并且使用AJAX请求来查询MySQL数据。解决方法是使用JavaScript获取URL中的查询字符串,并将其作为数据传递给AJAX调用。在PHP中,可以通过$_POST['v']来访问传递过来的参数,并通过查询语句从数据库中获取数据。如果出现错误,需要进行错误处理,并将错误信息返回给前端。以下是完整的解决方法:

JavaScript获取查询字符串:

function query_string(variable) {
   var query = window.location.search.substring(1);
   var vars = query.split("&");
   for (var i=0;i

使用AJAX请求数据:

$.ajax({
    type: "POST",
    dataType: "json",
    url: "ajax.php",
    data: "v=" + v,
    success: function(response) {
        var id = response['id'];
        var url = response['url'];
        var name = response['name'];
        var image = response['image'];
    },
    error: function(jqXHR, textStatus, errorThrown) {
        alert(JSON.stringify(jqXHR) + " " + textStatus + " " + errorThrown);
    }
});

在PHP中查询数据库并返回JSON数据:

 mysql_error())));
    while($row = mysql_fetch_object($result))
    {
        $currentid = $row->id;
        $currentname = $row->name;
        $currenturl = $row->url;
        $currentimage = $row->image;
        $array[] = array('id' => $currentid, 'url' => $currenturl, 'name' => $currentname, 'image' => $currentimage);
    }
    echo json_encode($array);
} else {
    echo json_encode(Array("error" => "No POST values"));
}
?>

以上就是从URL获取参数并使用AJAX查询MySQL数据的完整解决方法。如果出现错误,将返回相应的错误信息。

0
0 Comments

问题的原因:在代码中使用了$_POST['v']来获取参数,而实际上应该使用$_GET['v']来获取URL参数。

解决方法:

将代码中的$_POST['v']改为$_GET['v']。

整理成一篇文章如下:

在使用Ajax获取URL参数并查询MySQL数据时,我们需要注意参数的获取方式以及代码中的错误检查。下面是一个关键部分的示例代码:

$myquery = "SELECT * FROM mytable WHERE id=" . $_POST['v'];

可以看到,这里使用了$_POST['v']来获取参数。然而,实际上应该使用$_GET['v']来获取URL参数。因为参数是通过URL传递的,而不是通过POST请求传递的。

为了解决这个问题,我们只需要将代码中的$_POST['v']改为$_GET['v']即可。

修正后的代码如下:

$myquery = "SELECT * FROM mytable WHERE id=" . $_GET['v'];

这样就能正确获取URL参数,并使用它来查询MySQL数据库中的数据了。

通过以上的修改,我们可以避免因为获取URL参数的错误而导致查询MySQL数据失败的问题。同时,我们也可以学到一个重要的教训:在编写代码时,要仔细检查参数的获取方式,以确保代码的正确性和稳定性。

0