asp jsonp 예제

JSONP에서 원격 리소스는 일반 데이터를 호출자에게 반환하지 않습니다. JavaScript 함수 호출에 래핑하여 데이터를 반환합니다. 자바 스크립트 함수 이름은 일반적으로 호출자에서 제공됩니다. 요청을 하는 페이지에는 해당 함수가 포함됩니다. 이 개념을 명확히 하기 위해 다음 예제를 고려하십시오. 이 예제를 위해 만든 기본 뉴스레터 양식을 살펴보겠습니다. 여기에는 하나의 입력 전자 메일 필드와 하나의 제출 입력 필드가 포함되어 있습니다. 우리의 목표는 JSONP, 원격 서버에 이메일 주소를 사용하여 ajax를 통해 보내는 것입니다. 이 예제에서는 제네릭 처리기(.ashx)를 사용했습니다. 그러나 WCF 서비스를 사용할 수도 있습니다. 이 예제는 두 개의 프로젝트로 구성됩니다. 클라이언트 프로젝트 “크로스 도메인Ajax”와 서비스 프로젝트 “소스 도메인”. 프로젝트 -> 디버그 -> 다음 예제에서 새 인스턴스 를 시작하려면 오른쪽 마우스 단추로 데모 를 시작합니다.

우리 회사를 위해 우리는 유지 보수 프로젝트의 모든 에 대한 하나의 고유 한 방문 페이지를 만들고 싶었다. 기본적으로 우리는 뉴스 레터 및 연락처 양식으로 하나의 간단한 HTML 페이지를 만들고 싶었습니다. 당신은 에 내장 된 데이터 계약Json 직렬화 (System.Runtime.Serialization.Json 네임 스페이스ASP.NET 3.5+) 또는 뉴턴 소프트 JSON 직렬화기를 사용할 수 있으며, 두 예제는 아래에 표시됩니다. 나는 그것이 당신에게 더 많은 제어를 제공하고 또한 디버깅을 위해 멋지게 포맷 인간 읽을 JSON을 출력 할 수 있습니다 발견으로 나는 오히려 JSON 직렬화에 내장 된보다 뉴턴 소프트 JSON (nuget에서 설치)를 사용하는 것을 선호합니다. 그것은 또한 종이에 훨씬 더 빠릅니다! 먼저 JsonResult 클래스에서 파생 된 새 사용자 지정 작업 결과 클래스 JsonpResult를 만들어야 합니다. JsonResult 클래스는 ASP.NET MVC에서 제공하는 붙단 클래스이며 JSON 형식의 데이터를 나타냅니다. 이후 예제에서 사용할 JsonpResult 클래스를 살펴보겠습니다. 나는 그것이 정말로 빠져 나가는 모범은 아니라는 것을 알고 있지만, 당신이 이것에 대해 용서 할 수 있기를 바랍니다. 앞의 예제에서 JSON 페이로드 {“a”= “b”}는 함수 호출, 콜백에 래핑됩니다. 콜백 함수는 현재 웹 페이지에 이미 정의되어 있어야 합니다.

JSONP 응답의 콘텐츠 유형은 응용 프로그램/자바 스크립트입니다.

Geplaatst in Geen categorie