> 웹 프론트엔드 > JS 튜토리얼 > ajax를 사용하여 json 데이터를 정의되지 않은 상태로 가져오는 방법

ajax를 사용하여 json 데이터를 정의되지 않은 상태로 가져오는 방법

php中世界最好的语言
풀어 주다: 2018-03-30 16:49:11
원래의
2208명이 탐색했습니다.

이번에는 ajax를 사용하여 정의되지 않은 json 데이터를 가져오는 방법을 보여드리겠습니다. ajax를 사용하여 정의되지 않은 json 데이터를 가져올 때 주의사항은 무엇인가요?

비동기 JavaScript 및 XML(Ajax)은 차세대 웹 사이트(일반적으로 Web 2.0 사이트로 알려짐)를 주도하는 핵심 기술입니다. Ajax는 웹 애플리케이션의 디스플레이 및 동작을 방해하지 않고 백그라운드에서 데이터 검색을 허용합니다. 클라이언트측 JavaScript가 HTTP를 통해 원격 서버에 연결할 수 있게 해주는 API인 XMLHttpRequest 함수를 사용하여 데이터를 가져옵니다. Ajax는 여러 위치의 콘텐츠를 단일 웹 애플리케이션으로 통합하는 많은 매시업의 원동력이기도 합니다.

일반적으로 서버에서 전송된 json 값을 처리할 때 두 가지 방법으로 처리합니다.

1. 하나는 eval() 함수를 사용하는 것입니다. var dataObj=eval("("+data+")");//json 객체로 변환(참고: 데이터는 json 데이터입니다) var dataObj=eval("("+data+")");//转换为json对象(注:data为json数据);

2. 使用Function对象来进行返回解析。var json =(new Function("","return "+data))();

2. 반환 분석을 위해 Function 객체를 사용합니다. var json =(new Function("","return "+data))();

하지만 오늘 프로젝트를 작업할 때(스트럿츠2를 사용한 프로젝트) 이 두 가지 방법을 사용했습니다. json을 읽으면 출력이 항상 정의되지 않습니다. 인터넷에서 많은 정보를 확인했지만 대부분 명확하지 않았습니다. 나중에 저자도 이러한 상황에 직면했다는 기사를 발견했습니다. 그의 해결책은 테스트 후 액션의 반환 값을 선언하는 것이었습니다. 자신의 프로젝트에서 통과하지 못하면 나중에 다시 전송하는 것이 해결책입니다. 다음은 제 생각입니다. 백그라운드에서 전송되는 데이터는 json 속성으로 선언되어 있지만 프런트 데스크에 전달되면 실제로는 json 개체가 아닌 string입니다. 백그라운드에서 데이터를 처리하고 이를 json 개체로 변환한 다음 json에서 값을 가져옵니다. 그러나 백그라운드에서 전송된 값이 반드시 표준 json 형식 문자열이 아닐 수도 있습니다. 앞선 두 가지 방법 중 하나를 통해 백그라운드에서 전송된 객체를 변환했지만, 이때 변환된 json 객체는 실제로는 여전히 문자열입니다. 표준 json 문자열을 사용하고 이를 다시 변환하면 json 객체가 됩니다.

다음은 코드의 일부입니다.

 result = JSONObject.fromObject(map).toString();//后台代码,将map转成json对象
      success : function(result) {//前台返回值代码
var obj = eval("("+result+")");
//var data1 =(new Function("","return "+obj))();
var data1=eval("("+obj+")");
alert(data1.name);
      }
로그인 후 복사

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

추천 자료:

ajax에서 josnp를 사용하여 josn 데이터를 수신하는 단계에 대한 자세한 설명

프런트 엔드 Ajax 요청에 대한 우아한 솔루션을 구현하는 방법

위 내용은 ajax를 사용하여 json 데이터를 정의되지 않은 상태로 가져오는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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