2012-01-01 4 views
0

나는이 웹 서비스에 연결을 시도 :

http://www.w3schools.com/webservices/tempconvert.asmx

을하지만

이것은에 "오류"경고 내가 사용한 스크립트 :

 var varType; 
    var varUrl; 
    var varData; 
    var varContentType; 
    var varDataType; 
    var varProcessData; 
    function SetValue() { 
     varType = "POST"; 
     varUrl = "http://www.w3schools.com/webservices/tempconvert.asmx/FahrenheitToCelsius"; 
     varData = '{"Fahrenheit":"230"}'; 
     varContentType = "application/json; charset=utf-8"; 
     varDataType = "json"; 
     varProcessData = true; 
     CallService(); 
    } 
    function CallService() { 
     $.ajax({ 
      type: varType, 
      url: varUrl, 
      data: varData, 
      contentType: varContentType, 
      dataType: varDataType, 
      processdata: varProcessData, 
      success: function (msg) { 
       ServiceSucceeded(msg); 
      }, 
      error:function (xhr, ajaxOptions, thrownError){ 
       alert(xhr.statusText); 
       alert(thrownError); 
      } 
     }); 
    } 

    function ServiceSucceeded(result) { 
     alert("ServiceSucceeded"); 

     varType = null; varUrl = null; varData = null; varContentType = null; varDataType = null; varProcessData = null; 
    } 

어떻게해야합니까?

+2

(http://en.wikipedia.org/wiki/Same_origin_policy) –

+0

의 크로스 도메인 요청을 할 때 dataType: 'jsonp'을 사용해야합니다 당신은 모든 것을 'null'로 설정할 필요가 없습니다 ... 가비지 컬렉터가이를 처리합니다. – Ryan

+0

정확히 당신이 방화 광/webinspector로 돌아오고있는 것을 보았습니까? 사전 설정 변수를 사용하여 콘솔에서 수동으로 시도 했습니까? – alonisser

답변

1

당신 때문에함으로써 당신은 [동일 출처 정책]에 대해 읽어야 same-origin policy

+0

tnkx 해결책을 시도해 보겠습니다. –

+1

이것은 작동하지 않습니다. AJAX 요청에서'dataType : 'jsonp'을 그냥 치지 마라. –

+0

분명히 서버도이를 지원해야하지만 jsonp는 도메인 간 AJAX 요청에서 JSON 데이터를 가져 오는 유일한 방법입니다. Micha는 위의 실제 문제를 지적합니다.이 URL은 다른 사이트에서 액세스 할 수있는 URL이 아닙니다. –