jQuery HttpHandler xml을 사용하여 3레벨 linkage_jquery를 시뮬레이션하는 예
구현 과정은 다음과 같습니다.
1단계: xml 파일을 준비하여 웹사이트의 루트 디렉터리인 Area.xml에 넣습니다.
🎜>
2단계: xml 파일에 정의된 요소에 해당하는 엔터티 클래스를 만듭니다.
코드 복사
공개 클래스
개인 문자열 이름
///
///
공개 문자열 이름
{
get { return name; }
set { name = value }
}
코드 복사
공개 클래스 도시
비공개 문자열 ID
///
///
공개 문자열 이름
{
get { return name }
set { name = value; }
}
}
코드 복사
코드는 다음과 같습니다.
public class County
{
///
///
공개 문자열 이름
{
get { 반환 이름; >set { name = value; }
}
}
3단계: 서버측 핸들러 클래스 작성: Handler.cs
코드 복사
코드는 다음과 같습니다.
///
2 /// 핸들러
3 ///
4 공용 클래스 핸들러 : IHttpHandler
5 {
6
7 private static static JavaScriptSerializer jss = new JavaScriptSerializer();
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain"
string result; = "failure";// 기본 반환 결과는 실패입니다
HttpRequest req = context.Request
string Province = req["province"];//사용자가 선택한 지방 번호를 가져옵니다
string city = req["city"]; //사용자가 선택한 도시 번호 가져오기
string county = req["county"];//사용자가 선택한 카운티 번호 가져오기
string type = req["type"];//사용자가 가져오는 데 필요한 항목 가져오기 성, 시, 군 목록 유형
InitDoc()
if (type.HasValue())
{
switch (type.ToLower())
{
case "province"://사용자가 지방 목록을 가져와야 하는 경우
result = jss.Serialize(GetProvinceList());
break;
case "city"://사용자가 지방자치단체 목록을 가져와야 하는 경우
result = jss.Serialize(GetCityListByProvince(province))
break
case "county; "://사용자가 카운티 수준 목록을 가져와야 하는 경우
result = jss.Serialize(GetCountyListByCity(province , city));
break;
default:
break;
}
}
//결과를 텍스트 형식으로 클라이언트에 반환합니다.
context.Response.Write(result)
}
///
///
private void InitDoc()
{
if (doc == null)
{
doc = XDocument.Load (filePath)
}
}
///
// / 지방 목록 초기화
///
{
List
if (doc != null)
{
XElement root = doc.Root; >foreach (var prov in root.XPathSelectElements("province"))
{
list.Add( new Province()
{
Id = prov.Attribute("id").Value,
Name = prov.Attribute("name").Value
})
}
}
반환 목록
}///
///
/// 지방 번호 private List
{
List
if (doc != null)
{
XElement 루트 = doc.Root;//xpath 표현식: /area/province[@id='1' ]/city
string queryPath = "/area/province[@id='" provId "']/city ";
foreach (var city in root.XPathSelectElements(queryPath))
{
list.Add(new City()
{
Id = city.Attribute("id"). 값,
Name = city.Attribute("name").Value
});
}
}
return list; ;
/// 주 번호와 도시 번호를 기준으로 카운티 번호 가져오기
// /
/// 주 번호 param>/// 도시 번호
비공개 목록
{
목록
if (doc != null )
{
XElement root = doc.Root
string queryPath = "/area/province[@id= '" provId "']/city[@id='" cityId "']/county ";
foreach (var county in root. Value,
Name = county.Attribute("name").Value
});
}
}
return list;
}
public bool IsReusable
{
get
{
return false; }
}
}
여기에서는 System.Xml.XPath 네임스페이스 아래의 XPathSelectElements(string xpath) 메서드와 XPathSelectElement(string xpath) 메서드를 사용하여 xml을 쿼리합니다. xpath 표현식 사용(전달된 지방 번호가 1이라고 가정):/area/province[@id='1']/city, 이 표현식은 "/"로 시작합니다. 이는 Area가 루트 노드이기 때문에 절대 경로 사용을 나타냅니다. 따라서 지역에서 시작하면 그 아래에 지방 요소가 있습니다. 해당 지역 아래의 모든 지방 요소 중에서 id 속성 값이 1인 지방 요소를 가져오려면 /area/province[@id=를 사용할 수 있습니다. '1'], 즉 지방 뒤에 [@id='1'] 조건을 추가하면 해당 지역 아래에 id 속성이 1인 지방 요소를 가져옵니다. 그런 다음 지방 요소 아래의 모든 도시를 가져오고 싶으므로 그 뒤에 /city를 추가하면 됩니다. 따라서 최종 xpath 표현은 /area/province[@id='1']/city입니다.
또한 이 쿼리의 xml은 현재 웹사이트의 루트 디렉터리에 있으므로 다른 곳에 있다면 쿼리 시 네임스페이스를 추가해야 합니다.
xml 파일에서 읽어온 값은 해당하는 엔터티 개체를 얻은 후 System.Web.Script.Serialization 네임스페이스 아래 JavaScriptSerializer 클래스의 Serialize 메서드를 사용하여 얻은 엔터티 개체를 json 데이터로 직렬화하고 클라이언트에 반환했습니다.
4단계: html과 js를 작성합니다.
script type="text /javascript">
$(function () {
$.post("/Handler.ashx", { "type": "province" }, function (데이터, 상태) {
if ( status == "success") {
if (data != "failure") {
data = $.parseJSON(data) //서버에서 반환된 json 데이터 구문 분석
for (var i = 0 ; i < data.length; i ) {
var value = data[i].Id ":" data[i].Name; 형식: "번호:이름"
$("#province").append("");
}
}
}
}, "text")
$("#province").change(function () {
var selectValue = $(this). val(); //선택한 지방 옵션 값 가져오기
var provId = selectValue.split(':')[0] //번호 가져오기
var provTxt = selectValue.split(':') [1]; //이름 가져오기
$("#txtProvince").html(provTxt) //선택한 지방의 이름 표시
$("#city").html("< option>==도시를 선택하세요==< /option>"); //지방 수준이 변경되면 도시 수준을 삭제하세요
$("#county").html(""); //지방 수준이 변경되면 카운티 수준 지우기
$.post("/Handler.ashx", { "province": provId, "type": " city" }, function (data, status) {
if (status == "success") {
if (data != "failure") {
data = $.parseJSON(data);
for (var i = 0; i < data .length; i ) {
var value = data[i].Id ":" data[i].Name
$("#city" ).append("")
}
}
}
}, "텍스트");
});
$("#city").change(function () {
var provId = $("#province").val().split(': ')[0];
var selectValue = $ (this).val(); //위와 동일
var cityId = selectValue.split(':')[0]; 🎜>var cityTxt = selectValue.split(':')[1]; //위와 동일
$("#txtCity").html(cityTxt) //선택한 도시의 이름을 표시합니다
$("#county").html("") //위와 동일
$.post("/Handler.ashx", { "province": provId, "city": cityId, "type": "county" }, function (data, status) {
if (status == "success") {
if (data != "실패") {
data = $.parseJSON(data);
for (var i = 0; i < data.length; i ) {
var value = data[i].Id " :" data[i].Name;
$("#county").append(" ") ;
}
}
}
}, "텍스트")
})
$("#county").change(function () {
$ ("#txtCounty").html($(this).val().split(':' )[1]) //선택한 카운티 이름 표시
})
});
<--카운티-->
코드의 13, 31, 50번째 줄을 최적화할 수 있습니다.
DOM 구조를 여러 번 수정하는 것은 권장되지 않습니다. 문자열을 연결하고 한 번만 추가하면 됩니다.
데이터 소스는 xml입니다. xml을 구문 분석하고

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











jQuery에서 PUT 요청 방법을 사용하는 방법은 무엇입니까? jQuery에서 PUT 요청을 보내는 방법은 다른 유형의 요청을 보내는 것과 유사하지만 몇 가지 세부 사항과 매개 변수 설정에 주의해야 합니다. PUT 요청은 일반적으로 데이터베이스의 데이터 업데이트 또는 서버의 파일 업데이트와 같은 리소스를 업데이트하는 데 사용됩니다. 다음은 jQuery에서 PUT 요청 메소드를 사용하는 구체적인 코드 예제입니다. 먼저 jQuery 라이브러리 파일을 포함했는지 확인한 다음 $.ajax({u를 통해 PUT 요청을 보낼 수 있습니다.

제목: jQuery 팁: 페이지에 있는 모든 태그의 텍스트를 빠르게 수정하세요. 웹 개발에서는 페이지의 요소를 수정하고 조작해야 하는 경우가 많습니다. jQuery를 사용할 때 페이지에 있는 모든 태그의 텍스트 내용을 한 번에 수정해야 하는 경우가 있는데, 이는 시간과 에너지를 절약할 수 있습니다. 다음은 jQuery를 사용하여 페이지의 모든 태그 텍스트를 빠르게 수정하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 먼저 jQuery 라이브러리 파일을 도입하고 다음 코드가 페이지에 도입되었는지 확인해야 합니다. <

PHPXML 함수를 사용하여 XML 데이터 처리: XML 데이터 구문 분석: simplexml_load_file() 및 simplexml_load_string()은 XML 파일 또는 문자열을 로드합니다. XML 데이터에 액세스: SimpleXML 개체의 속성과 메서드를 사용하여 요소 이름, 속성 값 및 하위 요소를 가져옵니다. XML 데이터 수정: addChild() 및 addAttribute() 메서드를 사용하여 새 요소와 속성을 추가합니다. 직렬화된 XML 데이터: asXML() 메서드는 SimpleXML 객체를 XML 문자열로 변환합니다. 실제 예: 제품 피드 XML을 구문 분석하고, 제품 정보를 추출하고, 변환하여 데이터베이스에 저장합니다.

제목: jQuery를 사용하여 모든 태그의 텍스트 내용을 수정합니다. jQuery는 DOM 작업을 처리하는 데 널리 사용되는 인기 있는 JavaScript 라이브러리입니다. 웹 개발을 하다 보면 페이지에 있는 링크 태그(태그)의 텍스트 내용을 수정해야 하는 경우가 종종 있습니다. 이 기사에서는 jQuery를 사용하여 이 목표를 달성하는 방법을 설명하고 구체적인 코드 예제를 제공합니다. 먼저 페이지에 jQuery 라이브러리를 도입해야 합니다. HTML 파일에 다음 코드를 추가합니다.

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

jQuery는 웹 페이지에서 DOM 조작 및 이벤트 처리를 처리하는 데 널리 사용되는 인기 있는 JavaScript 라이브러리입니다. jQuery에서 eq() 메서드는 지정된 인덱스 위치에서 요소를 선택하는 데 사용됩니다. 구체적인 사용 및 적용 시나리오는 다음과 같습니다. jQuery에서 eq() 메서드는 지정된 인덱스 위치에 있는 요소를 선택합니다. 인덱스 위치는 0부터 계산되기 시작합니다. 즉, 첫 번째 요소의 인덱스는 0이고 두 번째 요소의 인덱스는 1입니다. eq() 메소드의 구문은 다음과 같습니다: $("s

jQuery 요소에 특정 속성이 있는지 어떻게 알 수 있나요? jQuery를 사용하여 DOM 요소를 조작할 때 요소에 특정 속성이 있는지 확인해야 하는 상황이 자주 발생합니다. 이 경우 jQuery에서 제공하는 메소드를 사용하여 이 기능을 쉽게 구현할 수 있습니다. 다음은 jQuery 요소에 특정 속성이 있는지 확인하기 위해 일반적으로 사용되는 두 가지 방법을 특정 코드 예제와 함께 소개합니다. 방법 1: attr() 메서드와 typeof 연산자를 // 사용하여 요소에 특정 속성이 있는지 확인

소개 XML(Extensible Markup Language)은 데이터 저장 및 전송에 널리 사용되는 형식입니다. Java에서 XML을 구문 분석하는 것은 데이터 교환에서 문서 처리에 이르기까지 많은 응용 프로그램에 필요한 작업입니다. XML을 효율적으로 구문 분석하기 위해 개발자는 다양한 Java 라이브러리를 사용할 수 있습니다. 이 기사에서는 가장 널리 사용되는 XML 구문 분석 라이브러리 중 일부를 특징, 기능 및 성능에 중점을 두고 비교하여 개발자가 현명한 선택을 할 수 있도록 돕습니다. DOM(문서 개체 모델) 구문 분석 라이브러리 JavaXMLDOMAPI: Oracle에서 제공하는 표준 DOM 구현입니다. 개발자가 XML 문서에 액세스하고 조작할 수 있는 개체 모델을 제공합니다. DocumentBuilderFactoryfactory=D
