문제

저는 Ajax를 처음 사용하지만 개요로 업로드 및 다운로드 할 수있는 형식을 알고 싶습니다. JSON 또는 XML로 제한됩니까? 아니면 MP3 또는 UTF-8 HTML과 같은 이진 유형을 보낼 수 있습니다. 마지막으로, 바이트 어레이와 같은 바이트의 바이트에 대한 바이트를 완전히 제어 할 수 있습니까?

도움이 되었습니까?

해결책

우리가 ajax에 대해 이야기하고 있다면 우리는 JavaScript에 대해 이야기하고 있습니까? 그리고 xmlhttprequest에 대해?

http 요청 만있는 xmlhttprequest는 모든 것을 전송할 수 있습니다. 그러나 JavaScript에는 바이트 배열이 없습니다. 문자열, 숫자 등 만. Ajax 호출에서 얻은 모든 것은 텍스트 (responsetext)입니다. XML로 구문 분석 될 수 있습니다 (REPONSEXML을 제공 함). 특별 인코딩은 HTTP 운송의 문제 여야합니다.

이진 재료는 Ajax 의존적이지 않고 JavaScript 의존적입니다. JavaScript (특히 이미지의 경우) 내부에 바이트 데이터를 전달하기위한 문자열에 대한 이상한 인코딩이 있지만 일반적인 솔루션은 아닙니다.

HTML은 문제가되지 않으며 이것이 가장 두드러진 사용 사례입니다. 이 유형의 요청에서 HTML 문자열이 전달되고 HTML을 구문 분석하는 내부 html 당 dom의 일부 노드에 추가됩니다.

다른 팁

데이터는 HTTP를 통해 전송되므로 어떤 종류의 인코딩을 사용해야합니다. 가장 인기있는 것은 Base64 인코딩입니다. 자세한 내용은 다음에서 찾을 수 있습니다. http://www.webtoomkit.info/javaScript-base64.html

방법론은 보내려고하려는 데이터를베이스로 인코딩 한 다음 서버 (또는 클라이언트)에서 데이터를 Base64-Decode하고 의도 한대로 원본 데이터를 사용하는 것입니다.

모든 유형의 데이터를 문자열 또는 바이트로 전송할 수 있습니다.

당신은 당신이 좋아하는 것을 보낼 수 있습니다. 문제는 그것을 얻으면 처리하는 방법 일 수 있습니다.)

표준 HTML은 아마도 가장 일반적인 유형의 Ajax 컨텐츠 일 것입니다. 항상 한 가지 유형의 인코딩을 고수하는 것이 가장 좋지만 문자 인코딩도 선택할 수 있습니다.

Ajax는 단순히 JavaScript 호출로 HTTP를 통해 데이터를 비동기로 전송한다는 것을 의미합니다. 따라서 스크립트는 xmlhttprequest () 객체를 사용하여 "정상"HTTP 요청을 만듭니다. 그러나 이름에서 알 수 있듯이 일반적으로 서버에서 돌아온 데이터와 함께 클라이언트 측에서 일부 조치를 수행하려고하기 때문에 텍스트 기반 데이터 형식에만 적합합니다 (때로는 사람들이 xmlhttprequests 만 보내는 것은 아닙니다. 서버에서 무언가를 업데이트하십시오).

참고로, 나는 이진 데이터를 보내는 것이 어쨌든 적절한 응용 프로그램을 본 적이 없다.

대부분의 경우 사람들은 게시물 또는 get을 사용하여 서버로 데이터를 보내도록 선택합니다 (기본적으로 HTTP에 내재 된 이름 값 쌍을 전송하는 방법). 보다 복잡한 데이터를 보내려면 계층 구조와 예를 들어 어떻게 든 인코딩해야합니다. XML 문서는 JavaScript에 따라 기본적으로 만들 수 있으며 서버로 전송되며 필요한 데이터 유형으로 구문 분석 할 수 있습니다. 그러나 XML은 약간의 고통이 될 수 있으므로 많은 개발자가 생성하기 쉽고 구문 분석하기 쉽기 때문에 JSON 인코딩 데이터를 대신 사용합니다.

서버가 다시 보낸 것은 임의적입니다. 일반적으로 들어오는 데이터를 처리하는 JavaScript에 콜백 함수를 지정합니다. 다시 말하지만, 인기있는 선택은 XML과 JSON이며, 각각 문서 개체 또는 배열 구조로 쉽게 구문 분석됩니다. 당신은 또한 일반 텍스트 나 다른 포장을 보낼 수 있지만, 당신은 당신이 그것을 직접 사용 가능한 데이터를 추출해야한다는 것을 기억하십시오. 때로는 실제 HTML 조각을 클라이언트에 보내 페이지의 무언가를 직접 업데이트하는 것이 좋습니다.

우선, jQuery를 살펴 보는 것이 좋습니다. 그것은 많은 사악한 호환성을 추상화하고 Ajax 요청을 매우 멋지게 작성할 수있는 매우 가벼운 프레임 워크입니다.

HTTP를 통해 보낼 수있는 모든 것을 이동할 수 있습니다. 호출이로드 된 페이지와 동일한 도메인에 대한 통화에 대한 제한이 있지만 전송 내용은 아닙니다. 당신은 거래 또는 사후 거래를 할 수 있습니다.

이있다 블로그를 발굴하십시오 입력 제목 dui.stream 및 mxhr 그것은 그들이 "multipart xmlhttprequests"라고 부르는 것을 보여줍니다. 지금은 알파 코드이지만 이미지를 처리하는 데모.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top