JQuery ajax가 JSON을 반환할 때 처리하는 방법

亚连
풀어 주다: 2018-05-25 09:50:22
원래의
2405명이 탐색했습니다.

Json 데이터는 실시간 데이터 상호 작용을 위한 데이터 저장 방법입니다. 가장 일반적으로 사용되는 방법은 ajax와 json의 조합입니다. JQuery ajax가 JSON을 반환할 때 처리 방법(3가지 방법)을 공유하겠습니다. 참고하세요

최근 JQuery의 ajax 메소드를 사용할 때 반환되는 데이터가 json 데이터여야 합니다. 처리 중에 다음과 같은 문제가 발생했습니다. 즉, json 데이터를 생성하기 위해 다른 메소드를 사용할 때 어떻게 처리해야 하는지에 대한 문제입니다. $.ajax 메소드에 대해서는 아래에서 차례로 설명하겠습니다. 저는 asp.net을 사용하고 있기 때문에 모든 페이지 처리가 .net에서 이루어집니다! 다른 방법도 동일해야 합니다.

1. JSON에 대한 기본 지식.

JSON의 개체는 "{}"으로 식별됩니다. "{}"는 {"AreaId":"123"}와 같은 개체를 나타내며 개체의 값은 키-값 형식입니다. 쌍(키: 값).

"[]"는 배열을 식별하며, 배열 내부의 각 데이터는 ","로 구분됩니다(예: ["AreaId": "123", "AreaId": "345"]).

많은 경우에 이는 객체의 배열입니다.

[{“AreaId”:”123”},{“AreaId”:”345”}]
로그인 후 복사

실제로 배열도 객체이며 위 형식을 다음과 같이 작성할 수도 있습니다.

{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}
로그인 후 복사

이것은 두 개의 하위 데이터가 있는 Area 개체를 나타내며 각 하위 데이터도 개체이고 각 하위 개체는 AreaId입니다.

JSON의 문자열 및 문자 정의 형식은 일반적인 C 언어 정의와 유사하며 큰따옴표는 문자열을 정의하고 작은따옴표는 문자를 정의합니다.

JSON 키는 큰따옴표로 묶입니다. 예를 들어 위의 "Area" 및 "AreaId"는 큰따옴표로 묶입니다. 일부 언어에서는 JSON 문자열을 구성할 때 이스케이프 큰따옴표를 사용할 수 있습니다.

먼저 전송할 json 데이터를 제공합니다: [{"demoData":"This Is The JSON Data"}]​​​​

1, 일반 aspx 페이지를 사용하여 처리합니다​​​​​ ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​가장 간단합니다. 아래 코드를 보세요

$.ajax({ 
 type: "post", 
url: "Default.aspx", 
dataType: "json", 
success: function (data) { 
$("input#showTime").val(data[0].demoData); 
 }, 
error: function (XMLHttpRequest, textStatus, errorThrown) { 
alert(errorThrown); 
 } 
});
로그인 후 복사

다음은 다음과 같습니다. 백그라운드에서 데이터를 전달하는 코드

Response.Clear(); 
Response.Write("[{\"demoData\":\"This Is The JSON Data\"}]"); 
Response.Flush(); 
Response.End();
로그인 후 복사


이 처리 방법은 전달된 데이터를 json 데이터로 직접 구문 분석합니다. 즉, 여기서 프런트 엔드 js 코드는 이러한 데이터를 json 객체 데이터로 직접 구문 분석할 수 있습니다. data[0].demoData와 같은 문자열 데이터 대신

이 json 개체 데이터는 여기     


2에서 직접 사용되며, 웹 서비스(asmx)를 사용하여 이 처리 방법을 처리하면 전달된 데이터가 json 개체 데이터로 처리되지 않습니다.

단, 문자열로는 다음 코드

$.ajax({   
type: "post",   
url: "JqueryCSMethodForm.asmx/GetDemoData",   
dataType: "json",/*这句可用可不用,没有影响*/ 
contentType: "application/json; charset=utf-8",   
success: function (data) {   
$("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 객체 데이터가 될 수 있도록 평가 처리되어야 합니다.


3. ashx 파일을 사용하여 처리하는 방법은 일반적인 aspx 페이지 처리와 동일하므로 여기서는 설명하지 않겠습니다!

위 내용은 제가 여러분을 위해 정리한 내용입니다. 앞으로 여러분에게 도움이 되기를 바랍니다.

관련 기사:

JQuery ajaxSubmit에서 제출한 중국어 잘못된 코드를 해결하는 방법


JQuery ajax가 json을 반환할 때 중국어 잘못된 코드를 해결하는 방법


에서 ajax post 메서드를 사용하는 방법 Django 프레임워크


위 내용은 JQuery ajax가 JSON을 반환할 때 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!