中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用$.get()根據選項的不同從數據庫異步請求數據

發布時間:2021-09-14 17:05:52 來源:億速云 閱讀:117 作者:柒染 欄目:web開發

這篇文章給大家介紹如何使用$.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" 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 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()根據選項的不同從數據庫異步請求數據就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

web
AI

仁化县| 台南县| 清河县| 洱源县| 泽普县| 河池市| 山东| 临湘市| 和静县| 博罗县| 昭苏县| 连江县| 乌兰县| 汾西县| 尉氏县| 莒南县| 武宣县| 安乡县| 高密市| 宜君县| 晋宁县| 科技| 玛沁县| 疏勒县| 澎湖县| 香格里拉县| 靖安县| 安仁县| 河曲县| 永宁县| 屯昌县| 射阳县| 体育| 自贡市| 锡林浩特市| 方山县| 夹江县| 景德镇市| 金塔县| 三门县| 陆丰市|