2011-10-06 8 views
2

AJAX로 .NET 웹 서비스를 사용하려고하며 JSON 응답을 원합니다. 모든 것이 잘 작동합니다. 나는 바이올린을 사용하여 적절한 Json 리턴 세트를 얻었습니다. 또한 브라우저에서 일반 URL을 사용하면 해당 XML이 제공됩니다.AJAX POST JSON에서 .NET Webservice로 500 내부 서버 오류가 발생합니다.

심지어 PHP Curl을 사용하면 응답으로 올바른 JSON을 얻을 수 있지만 AJAX를 사용하려고 할 때 "500 내부 서버 오류"가 발생합니다.

감사합니다. 감사합니다.

<script>   
    $(document).ready(function() { 
     $.ajax({ 
     type: "POST", 
     url: "http://localhost:9000/APIs/BuyVoucherService.asmx/HelloWorld", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(data) { 
      alert(data); 
      }, 
     error: function(data){ 
     alert(data); 
     } 
    }); 
}); 
</script> 
+0

왜 게시 중이십니까? 브라우저에서 페이지를 방문하면 얻을 수 있습니다. 유형을 GET으로 변경해보십시오. 또한, 500 오류의 전체 본문을 게시하십시오. –

+0

.asmx webservice에서 JSON을 가져올 때 POST 및 contentType application/json을 사용해야합니다. 그렇지 않으면 XML이 반환됩니다. – limlim

+0

문제는 크로스 domian 문제로 인해 작동하지 않는다는 것입니다. 크로스 도메인 솔루션으로 작업 할 AJAX 호출을 얻는 솔루션은 JSONP를 사용하는 것입니다. 자세한 내용은 http://www.json-p.org/ – limlim

답변

0

문제는 그 때문에 크로스 domian 문제의 작동이 실 거예요. 크로스 도메인 솔루션으로 작업 할 AJAX 호출을 얻는 솔루션은 JSONP를 사용하는 것입니다. http://www.json-p.org/

1

당신이 귀하의 요청에 데이터 정의를 생략 한 것 같다, 이런 식으로 뭔가를 추가하려고 : 내가 실현

data: "{}", 
+0

나는 데이터를 생략했다 : "{}"나는 어떤 사람이 어떤 데이터를 센이 있기를 원하기 때문이다. 하지만 나는 "{}"또는 데이터 : {}와 같은 결과를 얻습니다. 나는 문제를 해결했지만 unfortunatley 나는 내 자신의 질문에 아직 대답을 할 수 없습니다. 해결책은 OP의 의견에 있습니다. 크로스 도메인 문제 때문에 JSON-P가 필요합니다. – limlim

관련 문제