項目實戰中JS和Ajax進行前後端交換筆記

SSM項目實戰中JS和Ajax進行前後端交互筆記

function getlist(e) {
			$.ajax({
				url : "/myo2o/shopadmin/getshoplist",
				type : "get",
				dataType : "json",
				success : function(data) {
					if (data.success) {
						handleList(data.shopList);
						handleUser(data.user);
					}
				}
			});
		}

jQuery.ajax(url,[settings]) :通過HTTP請求加載遠程數據,詳情請點擊此處

url (默認:當前頁面地址)發送請求的地址
type (默認: “GET”) 請求方式 (“POST” 或 “GET”), 默認爲 “GET”。注意:其它 HTTP 請求方法,如 PUT 和 DELETE 也可以使用,但僅部分瀏覽器支持。
dataType dataFilter 在請求成功之後調用。傳入返回的數據以及"dataType"參數的值。並且必須返回新的數據(可能是處理過的)傳遞給success回調函數
success 當請求之後調用。傳入返回後的數據,以及包含成功代碼的字符串。

function handleUser(data) {
			$('#user-name').text(data.name); // 給id爲user-name處添加值爲data.name 的文本
					}

text([val|fn]):取得所有匹配元素的內容。結果是由所有匹配元素包含的文本內容組合起來的文本。這個方法對HTML和XML文檔都有效。詳情請點擊此處

val 用於設置元素內容的文本
function(index, text) 此函數返回一個字符串。接受兩個參數,index爲元素在集合中的索引位置,text爲原先的text值。
$('p').text();  // 無參數 描述:返回p元素的文本內容。
$("p").text("Hello world!");  // 參數val 描述:設置所有 p 元素的文本內容

function handleList(data) {
			var html = '';
			data.map(function (item, index) {
				html += '<div class="row row-shop"><div class="col-40">'+ item.shopName +'</div><div class="col-40">'+ shopStatus(item.enableStatus) +'</div><div class="col-20">'+ goShop(item.enableStatus, item.shopId) +'</div></div>'; 

			}); // 把data數據遍歷輸出
			$('.shop-wrap').html(html); // 設置元素shop-wrap 處的Html內容
		}

jQuery.map(arr|obj,callback)詳情點擊此處

html([val|fn]):
取得第一個匹配元素的html內容。這個函數不能用於XML文檔。但可以用於XHTML文檔。
在一個 HTML 文檔中, 我們可以使用 .html() 方法來獲取任意一個元素的內容。 如果選擇器匹配多於一個的元素,那麼只有第一個匹配元素的 HTML 內容會被獲取。
詳情點擊此處

val 用於設定HTML內容的值
function(index, html) 此函數返回一個HTML字符串。接受兩個參數,index爲元素在集合中的索引位置,html爲原先的HTML值。
$(‘p’).html(); 返回p元素的內容。
$(“p”).html(“Hello world!”); 設置所有 p 元素的內容

/**
*該方法表示從URL中獲取鍵爲name的值並轉換爲String形式
*/
function getQueryString(name) {
	var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
	var r = window.location.search.substr(1).match(reg);
	if (r != null) {
		return decodeURIComponent(r[2]);
	}
	return '';
}
function getShopInitInfo() {
		$.getJSON(initUrl, function(data) {
			// alert("Hello World");
			if (data.success) {
				var tempHtml = '';
				var tempAreaHtml = '';
				data.shopCategoryList.map(function(item, index) {
					tempHtml += '<option data-id="' + item.shopCategoryId
							+ '">' + item.shopCategoryName + '</option>';
				});
				data.areaList.map(function(item, index) {
					tempAreaHtml += '<option data-id="' + item.areaId + '">'
							+ item.areaName + '</option>';
				});
				$('#shop-category').html(tempHtml);
				$('#area').html(tempAreaHtml);
			}
		});
	}

jQuery.getJSON(url, [data], [callback]):
通過 HTTP GET 請求載入 JSON 數據。
在 jQuery 1.2 中,您可以通過使用JSONP形式的回調函數來加載其他網域的JSON數據,如 “myurl?callback=?”。jQuery 將自動替換 ? 爲正確的函數名,以執行回調函數。 注意:此行以後的代碼將在這個回調函數執行前執行。
詳情點擊此處

url 發送請求地址。
data 待發送 Key/value 參數。
callback 載入成功時回調函數。

$('#submit').click(function() {
		// alert(registerShpUrl);
		var shop = {};
		if (isEdit) {
			shop.shopId = shopId;
		}

		shop.shopName = $('#shop-name').val();
		shop.shopAddr = $('#shop-addr').val();
		shop.phone = $('#shop-phone').val();
		shop.shopDesc = $('#shop-desc').val();

		shop.shopCategory = {
			shopCategoryId : $('#shop-category').find('option').not(function() {
				return !this.selected;
			}).data('id')
		};
		shop.area = {
			areaId : $('#area').find('option').not(function() {
				return !this.selected;
			}).data('id')
		};

		var shopImg = $("#shop-img")[0].files[0];
		var formData = new FormData();
		formData.append('shopImg', shopImg);
		formData.append('shopStr', JSON.stringify(shop));
		var verifyCodeActual = $('#j_captcha').val();
		if (!verifyCodeActual) {
			$.toast('請輸入驗證碼!');
			return;
		}
		formData.append("verifyCodeActual", verifyCodeActual);
		$.ajax({
			url : (isEdit?editShopUrl:registerShpUrl),
			type : 'POST',
			// contentType: "application/x-www-form-urlencoded; charset=utf-8",
			data : formData,
			contentType : false,
			processData : false,
			cache : false,
			success : function(data) {
				if (data.success) {
					$.toast('提交成功!');
					/*
					 * if (isEdit){ $('#captcha_img').click(); } else{
					 * window.location.href="/shop/shoplist"; }
					 */
				} else {
					$.toast('提交失敗!');
					$('#captcha_img').click();
				}
			}
		});
	});

find(expr|obj|ele):
搜索所有與指定表達式匹配的元素。這個函數是找出正在處理的元素的後代元素的好方法。

所有搜索都依靠jQuery表達式來完成。這個表達式可以使用CSS1-3的選擇器語法來寫。
詳情點擊此處
在這裏插入圖片描述

expr 用於查找的表達式
jQuery object 一個用於匹配元素的jQuery對象
element 一個DOM元素

not(expr|ele|fn):從匹配元素的集合中刪除與指定表達式匹配的元素,詳情點擊此處
在這裏插入圖片描述
data([key],[value])?*詳情點擊此處
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章