2013-07-26 3 views
1

조금 어리석은 느낌이 듭니다. 내 아약스 호출이 오류를 실행 중입니다 : 매번 함수. 나는 데이터가 JSON으로 되돌아오고 있음을 알고 있지만, jsonp와 같은 데이터 유형을 사용하여 교차하는 원점을 허용했다. 나는 명백한 것을 잊지 않는 한 내가 다르게 할 수 있다고 생각하지 않는다. 가세요 - 무슨 잘못이와 : 결과는 이미 자바 스크립트와 콜백 함수이 라이브러리에게 jsonphttps://github.com/padolsey/jQuery-Plugins/blob/master/cross-domain-ajax/jquery.xdomainajax.jsjQuery AJAX 호출에서 데이터를 반환하지 않습니다.

  • 을 시도하십시오 :

    function sartleApi(type,endpoint,object,callback){ 
    
    
    $.ajax({ 
        contentType: "application/json", 
        dataType: 'jsonp', 
        type:type, 
        data:object, 
        url:"http://dev.sartle.com/includes/ajax_reviewcomment.php?rid=1178", 
        success:function(data){ 
         callback(data); 
        }, 
    
        error: function (xhr, textStatus, errorThrown) { 
         alert(xhr.statusText); 
         alert(xhr.responseText); 
         alert(xhr.status); 
         alert(errorThrown); 
        } 
    }); 
    
    } 
    
    stlll
  • +0

    상태는 무엇입니까? – soulcheck

    +0

    해당 웹 사이트는 JSONP를 지원하지 않습니다. – Blender

    +0

    수정 된 코드는 다음과 같이 표시됩니다. 성공, 정의되지 않음, 200, 오류 : jQuery183039935008878819644_1374881928941이 호출되지 않았습니다. –

    답변

    0
    • , 그것은 크로스 도메인 문제를 보인다 객체 인수. 서버가 반환 한 함수가 구현되었는지 확인하십시오. 서버가 my_callback({...})을 반환 할 수 있습니다. 함수 클라이언트 측 my_callback을 구현해야합니다.

    • 일부 경고/console.log를 successerror 기능에 배치하십시오. 항상 문제를 게시하기 전에 자신의 디버그를하십시오.

    • 코멘트에 게시 : 상태 ajax 호출의 반환 코드. 유형

    +0

    위의 내용을 참조하십시오. 오류로 돌아 오는 내용 : 경고 –

    +0

    @AlexNeigher - 200 OK입니다. 응답 텍스트 또는 본문? –

    +0

    @AlexNeigher - 업데이트 된 답변의 첫 번째 지점에 게시 된 라이브러리를 시도하십시오 –

    -1

    당신은 넣을 필요)}

    $.ajax({ 
        contentType: "application/json", 
        dataType: 'jsonp', 
        type:type, <<<<<<------ here 
        data:object, 
        url:"http://dev.sartle.com/includes/ajax_reviewcomment.php?rid=1178", 
        success:function(data){ 
         callback(data); 
        }, 
    
    error: function (xhr, textStatus, errorThrown) { 
        alert(xhr.statusText); 
        alert(xhr.responseText); 
        alert(xhr.status); 
        alert(errorThrown); 
    } 
    

    를 "POST"를 "GET"또는;

    } 그래서

    +0

    이 함수는 "GET"에 유형을 지정하는 apicall() 함수 내에 래핑됩니다 –

    +0

    유형이 매개 변수로 제공된다는 것은 분명합니다. 99 %의 기회 그것은 유효한 가치를 가지고있다. –

    +0

    오, 그래, 나는 첫 줄을 보지 못했다. – Brakyo

    0

    은 JSONP는 나쁜 생각으로 밝혀졌다 사용하여 크로스 도메인 문제를 회피하려고합니다. 내가 로컬 호스트에서 이러한 호출을 실행 해요, 그래서 난

    url:"http://localhost/includes/ajax_reviewcomment.php?rid=1178"

    에 아약스 호출에서 URL을 변경 한 나는 현재의 URL를 항상 도메인 일치로되도록 동적이 URL을 구축 할 것 서버, 그리고 나는 좋은 모양이어야합니다!

    2

    귀하의 웹 사이트는 JSONP을 지원하지 않습니다.

    JSONP는 <script> 태그를 통해 JSON 객체를 전역 콜백 함수에 전달하는 멋진 방법입니다. 처음에는 AJAX 요청을 보내지 않고 대신 <script> 태그를 생성하여 교차 출처 제한을 우회합니다.

    JSON 응답에는은 다음과 같습니다

    {"foo": "bar"} 
    

    그러나 JSONP 응답은 다음과 같습니다 PHP 스크립트는 이름이 일반적으로 콜백 함수에서 JSON 응답을 (포장하지 않습니다

    some_callback({"foo": "bar"}) 
    

    그건 callback GET 매개 변수를 통해 지정됨), JSONP 요청을 간단하게 만들 수 없습니다. 요청은 성공하지만 전역 콜백 함수가 호출되지 않으므로 JSON을 사용할 수 없습니다.

    관련 문제