Ajax 상호작용에서 우리가 서버에서 반환하는 데이터 유형에는 xml, html, script, json, jsonp 및 text가 포함됩니다. 이 기사에서는 jquery를 사용하여 포그라운드에서 json의 두 데이터 구조를 탐색하는 방법을 설명하기 위해 json을 예로 사용합니다. : "name/ "값" 쌍의 컬렉션, 정렬된 값 목록, "이름/값" 쌍 컬렉션을 포함하는 정렬된 값 목록. 서버 측에서는 Json.NET을 사용하여 arraylist를 직렬화합니다. , hashTable, list 및 기타 데이터 구조입니다.
시작하기 전에 Json.net을 다운로드해야 합니다. 다운로드가 완료된 후 웹사이트에 대한 참조를 추가하고 다운로드한 폴더가 .net2.0 이상인 경우 DoNet에서 Newtonsoft.Json을 사용합니다. 폴더.dll, 버전 2.0인 경우 DotNet20 파일 아래의 Newtonsoft.Json.dll을 사용한 다음 사용 중인 페이지에서 Newtonsoft.Json을 사용하여 해당 네임스페이스를 가져옵니다.
준비가 완료되면 아래 데모를 시작합니다. , 먼저 ProductService.asmx에 webService 파일 이름을 추가한 다음 [System.Web.Script.Services.ScriptService]의 주석 처리를 제거합니다.
1. "이름/값" 쌍 컬렉션 탐색
ProductService.asmx getProductInfoToJson 메서드 추가
[WebMethod]
public string getProductInfoToJson(int productID)
{
SQLCMD = new SqlCommand("select id ,name,price from dbo.productTest where id=@id", SQLConnect);
SQLCMD.CommandType = System.Data.CommandType.Text;
SQLCMD.Parameters.AddWithValue("@id", productID);
SQLConnect.Open();
SqlDataReader reader = SQLCMD.ExecuteReader();
Hashtable HTresult = new Hashtable()
while(reader.Read())
{
HTresult.Add(" id", reader["id"]);
HTresult.Add("name", reader["name"])
HTresult.Add("price", reader["price) "]);
}
reader.Close();
SQLConnect.Close();
return JsonConvert.SerializeObject(HTresult);
}
프런트 데스크
$("#ShowInfo") .click(function () {
var selectValue = $("#DropDownListCourseID").val();
$.ajax({
type: "POST",
url: "ProductService. asmx/getProductInfoToJson",
data: "{productID:" selectValue "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
성공 : function (msg) {
var result = jQuery.parseJSON(msg.d)
$("#resultInfo").append(result.id result.name result.price "
");
}
});
});
2. 순서가 지정된 값 목록 순회
ProductService.asmx GetProductList 메서드 추가
[WebMethod]
공개 문자열 GetProductList(string KeyWord) {
SQLCMD = new SqlCommand("getProductList", SQLConnect)
SQLCMD.CommandType = CommandType.StoredProcedure;
SQLCMD.Parameters.Add(new SqlParameter("@nameKeyWords" , SqlDbType.NVarChar, 30));
SQLCMD.Parameters["@nameKeyWords"].Value = KeyWord;
SQLConnect.Open()
SqlDataReader = SQLCMD.ExecuteReader(); ArrayList ProductList = new ArrayList();
while (reader .Read())
{
ProductList.Add(reader["name"].ToString())
}
reader .Close();
SQLConnect.Close();
if (ProductList.Count > 0)
{
return JsonConvert.SerializeObject(ProductList)
}
else
{
return "";
}
}
- ').hide().insertAfter(" #search #search-text");
- ").text(term).appendTo( presentsList);
});
}
})
3. "이름/값" 쌍의 컬렉션을 포함하는 정렬된 값 목록
$("#search-text").keyup(function () {
var textString = "{KeyWord:'" $("#search #search-text" ).attr("value") "'}"
$.ajax ({
type: "POST",
url: "ProductService.asmx/GetProductList",
data: textString,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
suggestList.empty()
var objData = jQuery.parseJSON(data.d);
$.each(objData, function (index, term) {
$("
코드 복사
ProductService.asmx 添加 GetBrandNameByKeyword 방법
[WebMethod]
public string GetBrandNameByKeyword(string 키워드)
{
SQLCMD = new SqlCommand("BrandInfo_Get_BrandName_UserInputKeyWord", SQLConnect);
SQLCMD.CommandType = CommandType.StoredProcedure;
SQLCMD.Parameters.Add(new SqlParameter("@KeyWord",SqlDbType.NVarChar,10));
SQLCMD.Parameters["@KeyWord"].Value = 키워드;
해시테이블 BrandNameInfo;
목록 BrandNameInfoCollection = 새 목록
SQLConnect.Open();
using (SqlDataReader reader = SQLCMD.ExecuteReader())
{
if (reader.HasRows)
{
while (reader.Read())
{
BrandNameInfo = 새로운 해시테이블();
BrandNameInfo.Add("BrandName", reader["BrandName"].ToString());
BrandNameInfo.Add("BrandChinaName", reader["BrandChinaName"].ToString());
BrandNameInfo.Add("nameAbbreviation", reader["nameAbbreviation"].ToString());
BrandNameInfoCollection.Add(BrandNameInfo);
}
SQLConnect.Close();
return JsonConvert.SerializeObject(BrandNameInfoCollection);
}
else
{
SQLConnect.Close();
널을 반환합니다.
}
}
}
前台
$.ajax({
유형: "POST",
url: "ProductService.asmx/GetReceiverAddressInfo",
데이터: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
var resultCollection = jQuery.parseJSON(msg.d)
$.each(resultCollection, function (index, item) {
var AddressInfo = [
' '
].join('')
});
1.41中,jquery添加了 jQuery.parseJSON( json ) 적법,설명적 정의는 올바른 형식의 JSON 문자열을 가져와서 결과 JavaScript 개체를 반환합니다. 就是接受一个格式良好的JSON字符串, 返回一个Javascript对象.
Jquery에서 Json을 사용하여 Jquery를 사용하고 있습니다.

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

뜨거운 주제



