>  기사  >  웹 프론트엔드  >  jQuery의 ajax function_jquery를 기반으로 웹 서비스의 json 변환 구현

jQuery의 ajax function_jquery를 기반으로 웹 서비스의 json 변환 구현

WBOY
WBOY원래의
2016-05-16 18:47:221406검색

그런데 이 글의 제목을 어떻게 생각해야 할지 정말 모르겠습니다. 제목이 좋지 않아서 놓치셨다면 안타깝습니다.

이 작품을 만들기 전에 많은 기사를 참고했습니다.

http://www.roseindia.net/tutorials/json/parse-message-JSON-JS.shtml

http://www.json.org/js.html

http://funkatron.com/site/comments/safely-parsing-json-in-javascript/

http://docs.jquery.com/Ajax/jQuery.getJSON

http://encosia.com/2009/06/29/never-worry-about-asp-net-ajaxs-d-again/

http://encosia.com/2009/04/07/using-complex-types-to-make-calling-services-less-complex/

http://www.isolutionteam.co.uk/json-jquery-ajax-aspnet-and-c-to-get-ajaxed-data-table-rows-passing-multiple-parameters/

해야 할 첫 번째 단계는 데이터 테이블을 서버 측에서 필요한 형식으로 변환하는 방법입니다.

원래는 .net의 javascriptSerializer를 사용하여 완성하려고 했으나(Genirics 라이브러리의 List 등과 결합) 나중에 NewtonSoft.Json을 사용하는 것이 더 유연하고 확장성이 더 좋다는 사실을 인터넷에서 발견하기도 했습니다. 기성품으로 사용할 수 있습니다.

서버 측에서 데이터 변환을 어떻게 구현했는지 살펴보겠습니다.

여기에서는 Datatable뿐만 아니라 DataSet도 변환 가능하며, 향후 JavascriptSerializer의 변환 기능도 확장될 예정입니다. 변환의 최종 결과는 []로 묶인 문자열이어야 한다는 점에 유의해야 합니다. 처음에는 {}를 사용하여 최종적으로 json을 객체로 반환하려고 시도했지만 결과적으로 클라이언트는 실제로 아무런 단서도 얻지 못했습니다. 전혀 변환하지 않습니다. 마지막으로 .net 3.5에서 웹 서비스에서 반환된 결과가 {"d":***}와 같이 이름이 d인 json 개체로 자동으로 패키징된다는 내용을 소개하는 기사를 보았습니다. 서버 측은 배열 형식으로 패키지를 생성합니다.

그런 다음 다음 콘텐츠로 데이터베이스 테이블을 만들었습니다.

,

에서 정의한 웹 메소드는 다음과 같습니다.

Serializer 방식은 DNA_JSON으로 패키징되었습니다. NewtonSoft.Json의 기본 변환 클래스를 기반으로 확장되었습니다.

두 번째 단계는 클라이언트 관련 작업입니다.

먼저 몇 가지 js를 사용해야 합니다. jQuery.js, json2.js는 괜찮습니다.

위 그림과 같이 jQuery의 ajax와 JSON을 사용하고 있습니다. Parse() 변환 함수.

res.d는 기본적으로 .net 3.5의 패키지된 json 속성이라는 점에 유의하는 것도 중요합니다. Framework2.0을 사용하면 이 문제가 발생하지 않습니다.

마지막으로 이들 객체로 구성된 배열을 테이블로 표시하는 방법을 살펴보겠습니다.

코드 복사 코드는 다음과 같습니다.




아직 소스코드가 필요하시면 메시지를 남겨주세요. 다음으로 이 방법을 사용하여 일부 jQuery ajax 플러그인을 모든 사람에게 소개한 다음 일부 데이터 그리드 플러그인을 asp.net 컨트롤에 캡슐화하여 Microsoft의 부피가 큰 데이터 그리드를 사용할 필요가 없도록 하겠습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.