복붙노트

[JQUERY] $ 아약스 - dataType와

JQUERY

$ 아약스 - dataType와

해결법


  1. 1.$ 아약스 () 문서뿐만 아니라 이러한 대한 자세한 설명이 있습니다.

    $ 아약스 () 문서뿐만 아니라 이러한 대한 자세한 설명이 있습니다.

    특정 경우, 첫 번째는 UTF-8로 될 수있는 응답을 요구하고, 두 번째는 상관하지 않는다. 또한 첫 번째 자바 스크립트 객체로 응답을 취급하고, 두 번째는 문자열로 처리하는 것입니다.

    그래서에게 첫 번째는 다음과 같습니다

    success: function(data) {
      // get data, e.g. data.title;
    }
    

    두번째:

    success: function(data) {
      alert("Here's lots of data, just a string: " + data);
    }
    

  2. 2.(추신 : 닉 Craver에 의해 주어진 대답은 잘못된 것입니다)

    (추신 : 닉 Craver에 의해 주어진 대답은 잘못된 것입니다)

    contentType이 데이터의 포맷을 요청 부 (나중에 더 그 위에, 또한 응답의 일부로서 전송 될 수있다)와 같은 서버에 송신되는 것을 지정한다.

    데이터 유형 예상 데이터 형식은 클라이언트 (브라우저)에 의해 수신되도록 지정한다.

    둘은 서로 호환되지 않습니다.

    ==============================

    샘플 요청 :

    POST /search HTTP/1.1 
    Content-Type: application/x-www-form-urlencoded 
    <<other header>>
    
    name=sam&age=35
    

    ==============================

    "이름 = SAM 및 나이 = 35"상기 마지막 라인은 메시지 본문이고 contentType이 애플리케이션 우리는 메시지 본문의 형태 파라미터를 전달하기 때문에 / x-www-form-urlencoded로를 지정한다. 그러나 우리가 매개 변수를 전송 국한되지 않습니다, 우리는 XML을 JSON 보낼 수 있습니다, ... 이런 식으로 (서로 다른 유형의 데이터를 전송은 RESTful 웹 서비스에 특히 유용합니다)

    ==============================

    샘플 요청 :

    POST /orders HTTP/1.1
    Content-Type: application/xml
    <<other header>>
    
    <order>
       <total>$199.02</total>
       <date>December 22, 2008 06:56</date>
    ...
    </order>
    

    ==============================

    응용 프로그램 / XML, 원인 우리가 보내고있는 내용은 다음과 같습니다이 시간입니다 ContentType이 그래서. 위의 예는 유사하게 서버의 응답 보내기도 서버가이 같이 보내는 것을 지정하는 Content-Type 헤더를 가질 수, 샘플 요청을 보여 주었다 :

    ==============================

    샘플 응답 :

    HTTP/1.1 201 Created
    Content-Type: application/xml
    <<other headers>>
    
    <order id="233">
       <link rel="self" href="http://example.com/orders/133"/>
       <total>$199.02</total>
       <date>December 22, 2008 06:56</date>
    ...
    </order>
    

    ==============================

    ==============================

    샘플 요청 :

    GET /someFolder/index.html HTTP/1.1
    Host: mysite.org
    Accept: application/xml
    <<other headers>>
    

    ==============================

    위 요청은 서버에서 XML을 기대하고있다.

    귀하의 질문에 대해서는,

    contentType: "application/json; charset=utf-8",
    dataType: "json",
    

    여기 UTF8 문자 집합을 사용하여 JSON 데이터를 전송하는, 당신은 서버에서 다시 JSON 데이터를 기대합니다. 데이터 유형에 대한 데이터 JQuery와 문서에 따라,

    당신이 성공 처리기에서 얻을 것은 적절한 자바 스크립트 객체가되도록 (JQuery와 당신을 위해 JSON 객체로 변환)

    이므로

    contentType: "application/json",
    dataType: "text",
    

    당신이 JQuery와 문서에 따라, 인코딩을 언급하지 않았기 때문에 여기에, JSON 데이터를 전송하는,

    dataType와 텍스트로 지정되어 있기 때문에, 당신은 성공 핸들러에서 무엇을 얻을, 데이터 유형에 대한 데이터 워드 프로세서에 따라, 일반 텍스트


  3. 3.내 문서입니다 :

    내 문서입니다 :


  4. 4.동시에 두 개의 API를 호출 할 때 jQuery를 아약스 로더는 잘 작동하지 않습니다. 이 문제를 해결하려면 아약스 설정에서 isAsync 속성을 사용하여 하나 API에 하나를 호출해야합니다. 당신은 또한 확실히 설정에 오류가없는 것을 확인해야합니다. 그렇지 않으면, 로더가 작동하지 않습니다. POST / PUT / DELETE / GET 호에 대한 예컨대 정의되지 않은 콘텐트 타입, 데이터 타입.

    동시에 두 개의 API를 호출 할 때 jQuery를 아약스 로더는 잘 작동하지 않습니다. 이 문제를 해결하려면 아약스 설정에서 isAsync 속성을 사용하여 하나 API에 하나를 호출해야합니다. 당신은 또한 확실히 설정에 오류가없는 것을 확인해야합니다. 그렇지 않으면, 로더가 작동하지 않습니다. POST / PUT / DELETE / GET 호에 대한 예컨대 정의되지 않은 콘텐트 타입, 데이터 타입.

  5. from https://stackoverflow.com/questions/2722750/ajax-datatype by cc-by-sa and MIT license