JQUEYR通过ajax跨域读取数据库并做判断的方法
在网站开发过程中,我们有时需要直接从数据库里读取数据,并且将数据进行相关的判断。我们读取数据库的常用方法就是直接使用PHP来读取。
今天学做网站论坛给大家介绍一下使用JQUEYR直接读取网站数据库数据并做判断的方法。通过JQEURY从数据库中拿数据,并且根据自己的需要进行判断得到相关的结果。
JQUEYR直接读取网站数据库需要以下几个步骤:
首先是JS文件,在JS文件中,使用AJAX来与PHP文件进行通信互联;JS代码如下写:
window.onload = function(){
$.ajax({
url:"chuli.php?userwz"="+userwz",
dataType:'jsonp',
success:function(result) {
if(!result){
window.parent.parent.location.href="http://www.baidu.com?from="+userwz;
}
}
});
}
这段代码中【dataType:'jsonp',】是支持跨域请求的,但不支持POST请求,只有【dataType:"TEXT",】支持POST请求。
它的作用就是将参数userwz传送给chuli.php,并且得到chuli.php文件处理后的结果,再使用if判断。也就是jsonp跨域:实现JS跨站请求PHP数据。
其次,在chuli.php中,要先联系自己网站的数据库,然后,拿到传递过来的参数在数据库中查询,并将查询结果返回给JS文件;
<?php
// 连接到MySQL服务器
$conn = new mysqli("localhost","sql_tengxunma","669sdwe6LdsAE","sql_tengxunma");
mysqli_set_charset($conn,'UTF8');
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 定义要执行的SQL语句
$sql = "SELECT domain FROM wp_banquan WHERE domain = ?";
// 创建并绑定参数,防止SQL注入
$stmt = $conn->prepare($sql);
$stmt->bind_param('s', $_GET["userwz"]); // 's'表示字符串类型的参数
// 执行查询
$stmt->execute();
// 获取结果集
$result = $stmt->get_result();
if ($result) {
while ($row = $result->fetch_assoc()) {
$arr[] = $row['domain'];
}
exit($_GET['callback'] . '('.json_encode($arr, JSON_FORCE_OBJECT).')');
} else {
exit($_GET['callback'] . '({0: null})');
}
// 关闭连接
$stmt->close();
$conn->close();
?>
通过JS与PHP文件进行传送与通信,就可以使用JQUERY文件读取到数据库的信息了。
如果想直接使用AJAX来获取数据,可以使用这个方法:AJAX 无刷新获取PHP接口数据方法(附代码)