1. 程式人生 > >JavaEE複習回顧二: JavaScript && jQuery && Ajax

JavaEE複習回顧二: JavaScript && jQuery && Ajax

           寫這篇回顧之前,蒐集了一些 JavaScript 和 jQuery 的文章,我把連結放到下面,供大家檢視。

1  JavaScript 標準參考教程(alpha)   http://javascript.ruanyifeng.com/#
2  jQuery 教程     http://www.runoob.com/jquery/jquery-tutorial.html

目錄

一、JavaScript 

1、JavaScript 是什麼

2 JavaScript 作用

3 JavaScript 的組成部分

4 JavaScript 語法

5 JavaScript 變數

6 JavaScript 資料型別

7 JavaScript 運算子

8  JavaScript 的輸出

9 JavaScript 事件

二、jQuery

1 使用jQuery完成表單校驗

三、Ajax

1 什麼是Ajax?

2 同步現象,非同步現象,Ajax執行原理

3 Jquery的Ajax技術(重點)


一、JavaScript 

1、JavaScript 是什麼

Java 與 javascript 有什麼區別? 它們沒有關係,雷鋒和雷峰塔的關係,估計是想蹭蹭熱度。。。

 

2 JavaScript 作用

  • HTML:它是整個網站的骨架。 
  • CSS:它是對整個網站骨架的內容進行美化(修飾) 。
  • Javascript:它能夠讓整個頁面具有動態效果。

 

3 JavaScript 的組成部分

 

  • ECMAScript  : 它是整個 javascript 的核心,包含(基本語法、變數、關鍵字、保留字、數 據型別、語句、函式等等)
  • DOM(Document Object Model):文件物件模型,包含(整個 html 頁面的內容)、
  • BOM(Browser Object Model):瀏覽器物件模型,包含(整個瀏覽器相關內容)

4 JavaScript 語法

  • 區分大小寫
  • 變數是弱型別的(String str=”aaa” ,var str=”123”;)
  • 每行結尾的分號可有可無(建議大家寫上)
  • 註釋與 java、php 等語言相同。

5 JavaScript 變數

變數可以不用宣告,變數是弱型別。統一使用 var 來定義!

定義變數的時候不要使用關鍵字 和保留字。

6 JavaScript 資料型別

Javascript 資料型別分為原始資料型別和引用資料型別 原始資料型別:

string、number、boolean、null、undefined

引用資料型別:

7 JavaScript 運算子

其它運算子與 java 大體一致,需要注意其等性運算子。

== 它在做比較的時候會進行自動轉換。

=== 它在做比較的時候不會進行自動轉換。

8  JavaScript 的輸出

  • 警告框:alert(); 
  • 向頁面指定位置寫入內容:innerHTML(屬性) 
  • 向頁面寫入內容:document.write(“”);

9 JavaScript 事件

步驟分析

  • 第一步:確定事件(onsubmit)併為其繫結一個函式
  • 第二步:書寫這個函式(獲取使用者輸入的資料<獲取資料時需要在指定位置定義一個 id>)
  • 第三步:對使用者輸入的資料進行判斷 第四步:資料合法(讓表單提交) 
  • 第五步:資料非法(給出錯誤提示資訊,不讓表單提交)

問題: 如何控制表單提交?

關於事件 onsubmit:
一般用於表單提交的位置,那麼需要在定義函式的時候給出一個 返回值。 
onsubmit = return checkForm()

程式碼實現

<script>
	function checkForm(){
		//alert("aa");
		/**校驗使用者名稱*/
		//1.獲取使用者輸入的資料
		var uValue = document.getElementById("user").value;
		//alert(uValue); if(uValue==""){
			//2.給出錯誤提示資訊

		alert("使用者名稱不能為空!"); 
		return false;
	}

		/*校驗密碼*/
		var pValue = document.getElementById("password").value; 
		if(pValue==""){
			alert("密碼不能為空!"); 
			return false;
		}

		/**校驗確認密碼*/ 
		var rpValue = document.getElementById("repassword").value;
		if(rpValue!=pValue){
			alert("兩次密碼輸入不一致!");
			return false;
		}

		/*校驗郵箱*/
		var eValue = document.getElementById("eamil").value; 
		if(!/^([a-zA-Z0-9_-])[email protected]([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/.test(eValue)){
			alert("郵箱格式不正確!");
			return false;
		}

	}
</script>

Html 部分:

<form	action="#"	method="get"	name="regForm" onsubmit="return checkForm()">

 

 

用思維導圖編寫一下js的重點,當然裡面有些東西是抄的┭┮﹏┭┮

 

上面的這個小例子,需要大家結合自己的實際來來寫,另外JavaScript就先介紹到這裡,畢竟不是主要主學JavaScript。上面的兩個連結,阮一峰,還有 菜鳥教程 的都可以,寫的比我好很多。

 

二、jQuery

 

先上一張圖,總結一下我學jQuery的幾個要點(不喜勿噴,學的不是很深入。。)

jQuery 是一個 JavaScript 庫。

jQuery 極大地簡化了 JavaScript 程式設計。

jQuery 很容易學習。

jQuery是很容易學習的,不過大概像很多經典遊戲一樣,都是易學難精一樣,要想精通確實要花費不少功夫的,我只是學了點皮毛而已。

 

下面在舉一個jQuery的例項,jQuery就跳了,到後面如果再接觸到前端的東西,再進行總結。

1 使用jQuery完成表單校驗

       在學習JavaScript 時,我們手動的完成過表單資料的校驗,此功能在開發中非常常見, 屬於通用
功能範疇,實際開發一般使用都是第三方工具。使用jQuery 外掛validation 進行表單的校驗。

  • 匯入

  • 使用前提

校驗型別

取值

描述

required

true Ifalse

必填宇段

email

email

郵件地址

url

 

路徑

date

數字

日期

date ISO

字串

日期  YYYY-MM-dd )

number

 

數字  負數,數)

digits

 

整數

minlength

數字

最小長度

maxlength

數字

最大長度

rangelength

[minL,maxL]

長度範圍

min

 

最小值

max

 

最大值

range

[min,max]

值範圍

equalTo

jQuery 表示式

兩個值相同

remote

url 路徑

ajax 校驗

  • 檢驗方式: js 程式碼方式

 

  • js 程式碼

		<script>
			$(function(){
				$("#registForm").validate({
					rules:{
						user:{
							required:true,
							minlength:3
						},
						password:{
							required:true,
							digits:true,
							minlength:6
						},
						repassword:{
							required:true,
							equalTo:"[name='password']"
						},
						email:{
							required:true,
							email:true
						},
						username:{
							required:true,
							maxlength:5
						},
						sex:{
							required:true
						}
					},
					messages:{
						user:{
							required:"使用者名稱不能為空!",
							minlength:"使用者名稱不得少於3位!"
						},
						password:{
							required:"密碼不能為空!",
							digits:"密碼必須是整數!",
							minlength:"密碼不得少於6位!"
						},
						repassword:{
							required:"確認密碼不能為空!",
							equalTo:"兩次輸入密碼不一致!"
						},
						email:{
							required:"郵箱不能為空!",
							email:"郵箱格式不正確!"
						},
						username:{
							required:"姓名不能為空!",
							maxlength:"姓名不得多於5位!"
						},
						sex:{
							required:"性別必須勾選!"
						}
					},
					errorElement: "label", //用來建立錯誤提示資訊標籤,validate外掛預設的就是label
					success: function(label) { //驗證成功後的執行的回撥函式
						//label指向上面那個錯誤提示資訊標籤label
						label.text(" ") //清空錯誤提示訊息
							.addClass("success"); //加上自定義的success類
					}
				});
			});
		</script>
  • html 程式碼
<div id="form2">
							<table border="0px" width="100%" height="100%" align="center" cellpadding="0px" cellspacing="0px" bgcolor="white">
								<tr>
									<td colspan="2" >
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										<font size="5">會員註冊</font>&nbsp;&nbsp;&nbsp;USER REGISTER 
									</td>
								</tr>
								<tr>
									<td width="180px">
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;
										<label for="user" >使用者名稱</label>
									</td>
									<td>
										<em style="color: red;">*</em>&nbsp;&nbsp;&nbsp;<input type="text" name="user" size="35px" id="user"/>
									</td>
								</tr>
								<tr>
									<td>
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;
										密碼
									</td>
									<td>
										<em style="color: red;">*</em>&nbsp;&nbsp;&nbsp;<input type="password"  name="password" size="35px" id="password" />
									</td>
								</tr>
								<tr>
									<td>
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;
										確認密碼
									</td>
									<td>
										<em style="color: red;">*</em>&nbsp;&nbsp;&nbsp;<input type="password" name="repassword" size="35px"/>
									</td>
								</tr>
								<tr>
									<td>
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;
										Email
									</td>
									<td>
										<em style="color: red;">*</em>&nbsp;&nbsp;&nbsp;<input type="text" name="email" size="35px" id="email"/>
									</td>
								</tr>
								<tr>
									<td>
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;
										姓名
									</td>
									<td>
										<em style="color: red;">*</em>&nbsp;&nbsp;&nbsp;<input type="text" name="username" size="35px"/>
									</td>
								</tr>
								<tr>
									<td>
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;
										性別
									</td>
									<td>
										<span style="margin-right: 155px;">
											<em style="color: red;">*</em>&nbsp;&nbsp;&nbsp;<input type="radio" name="sex" value="男"/>男
											<input type="radio" name="sex" value="女"/>女<em></em>
											<label for="sex" class="error" style="display: none;"></label>
										</span>
										
									</td>
								</tr>
								<tr>
									<td>
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;
										出生日期
									</td>
									<td>
										<em style="color: red;">*</em>&nbsp;&nbsp;&nbsp;<input type="text" name="birthday"  size="35px"/>
									</td>
								</tr>
								<tr>
									<td>
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;
										驗證碼
									</td>
									<td>
										<em style="color: red;">*</em>&nbsp;&nbsp;&nbsp;<input type="text" name="yanzhengma" />
										<img src="../img/yanzhengma.png" style="height: 18px;width: 85px;"/>
									</td>
								</tr>
								<tr>
									<td colspan="2">
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
										<input type="submit" value="注      冊" height="50px"/>
									</td>
								</tr>
							</table>
						</div>

三、Ajax

1 什麼是Ajax?

2 同步現象,非同步現象,Ajax執行原理

 

  • 同步現象:客戶端傳送請求到伺服器端,當伺服器返回響應之前,客戶端都處於等待 卡死狀態
  • 非同步現象:客戶端傳送請求到伺服器端,無論伺服器是否返回響應,客戶端都可以隨 意做其他事情,不會被卡死
  • Ajax 執行原理 : 頁面發起請求,會將請求傳送給瀏覽器核心中的Ajax引擎,Ajax引擎會提交請求到 伺服器端,在這段時間裡,客戶端可以任意進行任意操作,直到伺服器端將資料返回 給Ajax引擎後,會觸發你設定的事件,從而執行自定義的js邏輯程式碼完成某種頁面功能。

 

3 Jquery的Ajax技術(重點)

jquery是一個優秀的js框架,自然對js原生的ajax進行了封裝,封裝後的ajax的操 作方法更簡潔,功能更強大,與ajax操作相關的jquery方法有如下幾種,但開發中 經常使用的有三種

 

  1. $.get(url, [data], [callback], [type])
  2. $.post(url, [data], [callback], [type])

 

其中:

url:代表請求的伺服器端地址

data:代表請求伺服器端的資料(可以是key=value形式也可以是json格式)

callback:表示伺服器端成功響應所觸發的函式(只有正常成功返回才執行)

type:表示伺服器端返回的資料型別(jquery會根據指定的型別自動型別轉換)

常用的返回型別:text、json、html等

 

  1. $.ajax( { option1:value1,option2:value2... } ); ------後面學到了,再接著掌握

常用的option有如下:

async:是否非同步,預設是true代表非同步

data:傳送到伺服器的引數,建議使用json格式

dataType:伺服器端返回的資料型別,常用text和json

success:成功響應執行的函式,對應的型別是function型別

type:請求方式,POST/GET

url:請求伺服器端地址