>  기사  >  웹 프론트엔드  >  Json data_jquery의 jQuery Ajax 비동기 처리에 대한 자세한 설명

Json data_jquery의 jQuery Ajax 비동기 처리에 대한 자세한 설명

WBOY
WBOY원래의
2016-05-16 17:17:24993검색

먼저 공식 예를 살펴보겠습니다.
AJAX 요청을 사용하여 JSON 데이터를 얻고 결과를 출력합니다.

코드 복사 Code As 다음:

$("button").click(function(){
$.getJSON("demo_ajax_json.js",function(result){
$.each(result , 기능(i, 필드){
                                                                                                                                                               🎜>이 함수는 축약된 Ajax 함수로 다음과 같습니다.



코드 복사

코드는 다음과 같습니다:$.ajax({ url: url, data: data, Success: callback,
dataType: json
});


서버로 데이터 보내기를 쿼리 문자열로 URL에 추가할 수 있습니다. data 매개변수의 값이 객체(맵)인 경우 문자열로 변환되어 URL로 인코딩된 후 URL에 추가됩니다.
콜백에 전달되는 반환 데이터는 JavaScript 객체이거나 JSON 구조에 정의된 배열일 수 있으며 $.parseJSON() 메서드를 사용하여 구문 분석됩니다.
test.js에서 JSON 데이터를 로드하고 JSON 데이터에 이름 필드 데이터를 표시합니다.



코드 복사

asp.net 인스턴스
먼저 전송할 json 데이터를 제공합니다: [{"demoData":"This Is The JSON Data"}]
1, 일반 aspx 페이지를 사용하세요
이 방법이 가장 다루기 쉬운 것 같아요. 아래 코드를 보세요



코드 복사

코드 $.ajax({                        url: "Default.aspx", dataType: "json", 성공: 함수(데이터) {
> ~                          오류: 함수(XMLHttpRequest, textStatus, errorThrown) {
                                                            ~ >
백그라운드에서 데이터를 전송하는 코드는 다음과 같습니다
코드를 복사하세요 코드는 다음과 같습니다

Response.Clear();
Response.Write("[{"demoData":"This Is The JSON Data"}]")
Response.Flush(); .End();

이 처리 방법은 전달된 데이터를 json 데이터로 직접 구문 분석하는데, 이는 여기서 프런트 엔드 js 코드가 해당 데이터를 문자열 데이터가 아닌 json 객체 데이터로 직접 구문 분석할 수 있음을 의미합니다. data[0].demoData와 같은 이 json 객체 데이터는
2에서 직접 사용되며 webservice(asmx)를 사용하여
처리됩니다. 이 처리 방법은 전달된 데이터를 json 객체 데이터로 처리하지 않고 처리합니다. 문자열로 다음 코드

코드 복사 코드는 다음과 같습니다.
$ .ajax ({ 
type: "post", 
url: "JqueryCSMethodForm.asmx/GetDemoData", 
dataType: "json",/*이 문장은 사용 여부에 관계없이 영향을 미치지 않습니다* /
contentType: "application/json; charset=utf-8", 
성공: 함수(데이터) { 
$("input#showTime").val(eval('(' data.d ')')[0 ].demoData);
//데이터를 변환하는 방법에는 두 가지가 있습니다. 두 가지 처리 방법은 동일한 효과를 갖습니다.//$("input#showTime").val(eval(data.d )[0].demoData );
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown); asmx 메소드 코드에 대한 코드 복사





코드는 다음과 같습니다: [WebMethod] public static string GetDemoData() { return " [{"demoData":"This Is The JSON Data"}]"; }

여기서 이 처리 방법은 그냥 통과합니다. 반환된 json 데이터는 문자열로 처리됩니다. 이 데이터는 실제 json 객체 데이터가 될 수 있도록 평가 처리됩니다.
먼저 html 템플릿을 살펴보겠습니다.



코드 복사

코드는 다음과 같습니다.

 
               
                   
                   
                   
                   
                   
                   
                   
                   
                   
               
               
                   
                   
                   
                   
                   
                   
ity">
                                                              
                                                                             ​ 주의해야 할 점은 id 속성 내부의 모든 것이 키라는 것입니다. AJAX 요청 및 데이터 바인딩 코드를 살펴보겠습니다




코드 복사

코드는 다음과 같습니다.
var data = msg.table;
$.each(data, function(i, n){
var row = $("#template").clone() ;
row.find("#OrderID").text(n.OrderID);
row.find(" #CustomerID").text(n.고객 ID);
                                                                                                                     (n. 주문 날짜 ));
if (n. 배송일! == 정의되지 않음) row.find ("#shippeddate").find("#ShippedName").text(n. 배송업체 이름);
      row.find( "#ShippedAddress").text(n. 배송업체 주소);
     row.find("#ShippedCity").text(n.배송업체 도시);
       row.find("#more").html( " 더보기< /a>")                                                   > 템플릿 컨테이너
});


이것은 jQuery의 AJAX 방식입니다. 반환되는 데이터는 템플릿의 정의에 따라 페이지에 데이터를 표시하는 방법을 주로 설명합니다. 첫 번째는 "var row = $("#template").clone();"입니다. 먼저 템플릿을 복사한 다음 row.find("#OrderID").text(n. order ID);를 나타냅니다. id=OrderID인 태그의 경우 innerText를 해당 데이터로 설정합니다. 물론 html 형식의 데이터로 설정할 수도 있습니다. 또는 row.find("#OrderDate").text(ChangeDate(n. Order Date)); 와 같은 외부 함수를 통해 데이터를 필요한 형식으로 변환합니다. 이는 템플릿 바인딩 데이터를 수행하는 서버 컨트롤과 약간 비슷합니다.
이 모두는 정적 페이지에 배치되며 AJAX 방식을 통해 백그라운드에서만 데이터를 가져옵니다. 모든 HTML 코드는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.




    test1
   
   


   

         

           

            value=" < " /> value=" >>  " />
             
           

                        订单ID

                        客户ID

                        雇员ID

                        订购日期

                        发货日期

                        货主名称

                        货主地址

                        货主城市

                        更多信息

                   

                   

                   

                   

                   


               
                   
                   
                   
                   
                   
                   
                   
                   
                   
               
               
                   
                
                   
                 
                   
                 
                  
                  

                 
               
           
       
       

            로드 중.. ..
       

       
   

< /html>

PageData.js就是包括上面 AJAX请求和绑定数据代码的js,整个页면连formtwitter는 사용할 수 없습니다,这样做有什么好处呢。再看下面一个模板
复代码 代码如下:

        

                  

  •                  
                            fsdfasdf
                        < ;/span>
                      
                      

                      
                      

                       <
                                         
                     
                     

                       
                                          
                     

                  

  •            



还 是要注의의 id属性.绑 정된 到对应 位置 . 这样 话,저희는 会因为美工的修改而修改代码了,而且美工也只要做出html就可以了,不需要为服务器控件做模板(不过我还没遇到过这样的美工,city是美工设计好了我来改成 服务器控件的模板).
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

                        订单ID

                        客户ID

                        雇员ID

                        订购日期

                        发货日期

                        货主名称

                        货主地址

                        货主城市

                        更多信息