문제는 오류 간다
난에 (AN ASMX 웹 서비스 파일을 통해 아약스 요청을 보낼 jQuery 코드가있는 aspx 페이지가 같은 웹 사이트). 되돌아 오는 응답은 일관성이 없지만 "성공"콜백과 반대되는 "오류"jQuery 콜백을 지속적으로 발생시킵니다. 상태 코드는 200, 12030 및 12031 사이에서 일관성이 없습니다. 콜백에 대한 메시지의 responseText
은 [비어 있음]과 json webservice가 반환하는 실제 XML 사이에 일관성이 없습니다. 코드를 디버깅했고 webservice는 예외없이 실제로 실행됩니다.
ASPX 코드 코드 간결함을 위해 생략 //
<script type="text/javascript">
jQuery(document).ready(function()
{
jQuery.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "CallDequeue.asmx/Dequeue",
data: "{}",
dataType: "json",
success: function(Msg)
{
alert('success:' + Msg.responseText);
},
error: function(Msg)
{
alert('failed:' + Msg.status + ':' + Msg.responseText);
}
});
});
</script>
코드는 간결 ommitted //
웹 서비스 코드
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class CallDequeue : System.Web.Services.WebService
{
[WebMethod]
public string Dequeue()
{
return "{\"d\":{\"FirstName\":\"Keivan\"}}";
}
}
"Keivan"을 반환하기 위해 웹 서비스 코드를 변경했습니다. 응답이 JSON 대신 XML로 반환되기 때문에 callback이 여전히 호출됩니다. 이것은 .net 2.0 웹 사이트입니다. 문자열을 반환 할 때 순수한 JSON을 반환하도록하려면 어떻게해야합니까? –
2.0에서 작동하는 JSON 직렬화를 얻는 데 필요한 몇 가지 단계로 대답을 업데이트했습니다. –