我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何使用$.get()根据选项的不同从数据库异步请求数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何使用$.get()根据选项的不同从数据库异步请求数据

这篇文章给大家介绍如何使用$.get()根据选项的不同从数据库异步请求数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Ajax极大地改善了用户体验,对于web2.0来说必不可少,是前端开发人员必不可少的技能。
这个例子是这样的,当从select下拉框选择编程语言时时,根据选项的不同,异步请求不同的函数API描述。这种功能在现在web应用程序中是及其常见的。
我们先来看一下$.get()的结构

 代码如下:

$.get(url, [, data], [, callback] [, type]) 
//url:请求的HTML页的URL地址; 
//data(可选),发送至服务器的key/value数据作为QueryString附加到请求URL中; 
//callback(可选):载入成功时的回调函数(只有当Response的返回状态是success才调用该方法; 
//type(可选):服务器端返回内容格式,包括xml,html,script,json,text和_default


首先创建examplDB数据库,建立language和functions表,SQL如下

代码如下:

CREATE TABLE IF NOT EXISTS language ( 
id int(3) NOT NULL AUTO_INCREMENT, 
languageName varchar(50) NOT NULL, 
PRIMARY KEY (id)); 
CREATE TABLE IF NOT EXISTS functions ( 
id int(3) NOT NULL AUTO_INCREMENT, 
languageId int(11) NOT NULL, 
functionName varchar(64) NOT NULL, 
summary varchar(128) NOT NULL, //功能概述 
example text NOT NULL, //举例 
PRIMARY KEY (id));


下面是插入数据的SQL

 代码如下:

INSERT INTO language (id, languageName) VALUES (1, 'PHP'), (2, 'jQuery'); INSERT INTO functions (id, languageId, functionName, summary, example) VALUES (1, 1, 'simplexml_load_file', 'Interprets an XML file into an object ', '$xml = simplexml_load_file(''test.xml'');\r\nprint_r($xml);\r\n'), (2, 1, 'array_push', 'Push one or more elements onto the end of array', '$arrPets = array(''Dog'', ''Cat'', ''Fish'' );\r\narray_push($arrPets, ''Bird'', ''Rat'');\r\n'), (3, 1, 'ucfirst', 'Make a string''s first character uppercase', '$message = ''have a nice day;\r\n$message = ucfirst($message); // output: Have A Nice Day\r\n'), (4, 1, 'mail', 'used to send email', '$message = "Example message for mail";\r\nif(mail(''test@test.com'', ''Test Subject'', $message))\r\n{\r\n echo ''Mail sent'';\r\n}\r\nelse\r\n{\r\n echo ''Sending of mail failed'';\r\n}\r\n'), (5, 2, '$.get', 'Load data from the server using a HTTP GET request.', '$.ajax({\r\n url: url,\r\n data: data,\r\n success: success,\r\n dataType: dataType\r\n});\r\n'), (6, 2, 'hover', 'hover method accepts 2 functions as parameters which execute alternativelt when mouse enters and leaves an element.', '$(selector).hover(\r\nfunction()\r\n{\r\n//executes on mouseenter\r\n},\r\nfunction()\r\n{\r\n//executes on mouseleave\r\n});'), (7, 2, 'bind', 'Attach a handler to an event for the elements.', '$(element).bind(''click'', function() \r\n{\r\n alert(''click happened'');\r\n});\r\n'), (8, 2, 'jQuery.data', 'Store arbitrary data associated with the specified element.', 'jQuery.data(element, key, value);'), (9, 1, 'add class', 'Adds a class', '(''p'').addClass(''myClass yourClass'');');

都是比较简单的SQL操作,一切准备就绪后就可以编码了。总共有两个脚本文件,一个index.php,一个results.php用于处理请求,先编写index.php

 代码如下:

<!DOCTYPE html> 
<html> 
<head> 
<title></title> 
<style type="text/css"> 
body {font-family:"Trebuchet MS", Verdana, Arial; width:600px;} 
div {background-color:#f5f5dc;} 
</style> 
<script type="text/javascript" class="lazy" data-src="jquery.js"></script> 
</head> 
<body> 
<?php 
$mysqli = new mysqli('localhost', 'root', 'passwd', 'exampledb');//将passwd改为你的数据库密码 
if (mysqli_connect_errno()) 
{ 
die('Unable to connect'); 
} 
else 
{ 
$query = 'SELECT * FROM language'; //这里开始是核心代码,都是很简单的语句,主要是在language中取得记录,然后循环输出到select选项 
if ($result = $mysqli->query($query)) 
{ 
if ($result->num_rows > 0) 
{ 
?> 
<p> 
Select a languae 
<select id="selectLanguage"> 
<option value="">select</option> 
<?php 
while($row = $result->fetch_assoc()) //以编程语言的id作为option的value,以语言作为选项。 
{ 
?> 
<option value="<?php echo $row['id'];?>"><?php echo $row['languageName']; ?></option> 
<?php 
} 
?> 
</select> 
</p> 
<p id="result"></p> 
<?php 
} 
else 
{ 
echo 'No records found'; 
} 
$result->close(); 
} 
else 
{ 
echo 'Error in query: $query.'.$mysqli->error; 
} 
} 
$mysqli->close(); 
?> 
<script type="text/javascript"> 
$(function() { 
$('#selectLanguage').change(function() { 
if($(this).val() == '') return; 
$.get( 
'results.php', 
{id: $(this).val()}, 
function(data) { 
$('#result').html(data); 
} 
); 
}); 
}); 
</script> 
</body> 
</html>


引入jquery,给#selectLanguage添加change事件处理程序,并放在index.php中body结束前

代码如下:

<script class="lazy" data-src="scripts/jquery.js"></script> 
<script type="text/javascript"> 
$(function() { 
$('#selectLanguage').change(function() { 
if($(this).val() == '') return; 
$.get( 
'results.php', 
{id: $(this).val()}, 
function(data) { 
$('#result').html(data); 
} 
); 
}); 
}); 
</script>


下面就是results.php了。它先连接到数据库,然后取得index.php发送到id,根据id在数据库里选择相应的编程语言记录,并将每条记录放到ul列表中

复制代码 代码如下:

<?php 
$mysqli = new mysqli('localhost', 'root', 'passwd', 'exampledb'); //这里也要用你的数据库密码改写passwd 
$resultStr = ''; 
$query = 'SELECT functionName, summary, example FROM functions where languageId ='.$_GET['id']; //$_GET['id']就是index.php中用$.get()发送的id 
if ($result = $mysqli->query($query)) 
{ 
if ($result->num_rows > 0) 
{ 
$resultStr .= '<ul>'; 
while($row = $result->fetch_assoc()) //和index.php的语句差不多,也是先从数据库取得记录,然后格式化输出 
{ 
$resultStr .= '<li><strong>'.$row['functionName'].'</strong>-'.$row['summary']; 
$resultStr .= '<div><pre>'.$row['example'].'</pre></div>'.'</li>'; 
} 
$resultStr .= '</ul>'; 
} 
else 
{ 
$resultStr = 'Nothing found'; 
} 
} 
echo $resultStr; 
?>


现在所有的代码都编写好了,看下最后的效果
如何使用$.get()根据选项的不同从数据库异步请求数据 
这样简单的效果就出来了。

关于如何使用$.get()根据选项的不同从数据库异步请求数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何使用$.get()根据选项的不同从数据库异步请求数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用MySQL进行跨数据库的数据同步?

如何使用MySQL进行跨数据库的数据同步?在现代的软件开发中,数据库的使用无处不在。而随着软件项目的增长,数据的同步和备份变得越来越重要。MySQL是一个强大的关系型数据库管理系统,同时也提供了一些可靠的方法来实现跨数据库的数据同步。本文将
2023-10-22

如何使用 IN 运算符检查与我们当前使用的数据库不同的数据库中的 MySQL 表列表以及结果集中的表类型?

可以使用 SHOW FULL TABLES 语句来完成。它的语法如下 -语法SHOW FULL TABLES IN db_name在这里,db_name 是我们想要查看表格列表的数据库的名称。示例我们当前正在使用名为‘query’的数据库,
2023-10-22

我们如何使用带有“FIELDS TERMINATED BY”选项的 MySQL LOAD DATA INFILE 语句将数据从文本文件导入到 MySQL 表中?

当我们想要导入 MySQL 表的文本文件的值由逗号 (,) 或任何其他分隔符(如冒号 (:))分隔时,应使用“FIELDS TERMINATED BY”选项,可以通过下面的例子来理解 -例子假设我们有以下数据,用分号(;)分隔,在我们想要导
2023-10-22

编程热搜

目录