>  기사  >  웹 프론트엔드  >  Ajax 백그라운드 성공으로 업로드된 json 데이터를 처리하는 방법

Ajax 백그라운드 성공으로 업로드된 json 데이터를 처리하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-04-03 14:05:431671검색

이번에는 ajax 백그라운드 성공으로 업로드된 json 데이터를 처리하는 방법을 보여드리겠습니다. ajax 백그라운드 성공으로 업로드된 json 데이터를 처리할 때 주의사항은 무엇입니까?

최근에는 JQuery의 ajax 메서드를 사용할 때 반환해야 하는 데이터가 json 데이터입니다. 성공 반환 시 데이터 처리에서는 반환 메서드에 따라 json 데이터를 생성하는 방법이 다릅니다. $.ajax 메소드에서 어떻게 처리해야 하는지 간략하게 설명합니다.

먼저 전송할 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 코드는 이러한 데이터를 data[0] 과 같은stringdata 대신 jsonobjectdata로 직접 구문 분석할 수 있습니다. 데모데이터, 이 json 개체 데이터는 여기서 직접 사용됩니다

2, webservice(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 메소드 코드입니다

public static string GetDemoData() { 
return "[{\"demoData\":\"This Is The JSON Data\"}]"; 
}

여기서 이 처리 메소드는 전달된 json 데이터를 문자열로 처리하므로 데이터를 평가 처리해야 실제 json 객체 데이터가 될 수 있습니다.

그건

success:function(data){ 
eval(data); 
}

이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

Ajax가 서버에서 반환한 데이터 유형을 처리하는 방법

Ajax 요청 WebService 도메인 간 구현 방법(코드 포함)

위 내용은 Ajax 백그라운드 성공으로 업로드된 json 데이터를 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.