2013-07-27 5 views
1

일부 변경을 수행했지만 지원되지 않는 미디어 유형이 415 개 있습니다. 업데이트 된 코드를 게시하고 있습니다. 내 웹 서비스 인터페이스.Asp.Net 웹 서비스 415 지원되지 않는 미디어 유형 오류

서비스/

[OperationContract] 
    [WebInvoke(Method = "POST", 
     BodyStyle=WebMessageBodyStyle.Wrapped, 
     RequestFormat=WebMessageFormat.Json, 
     ResponseFormat=WebMessageFormat.Json, 
     UriTemplate = "http://localhost:50571/Service/WebService.svc/hello/say")] 
    string hello(Deneme deneme); 

[DataContract] 
public class Deneme 
{ 
    [DataMember] 
    public string say { get; set; } 
} 

내 웹 서비스 IWebService.cs

. Service/WebService.svc

[ServiceBehavior(IncludeExceptionDetailInFaults = true)] 
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
public class WebService : IWebService 
{ 
    public string hello(Deneme deneme) { 
     return deneme.say; 
    } 

클라이언트 측 코드. Login.aspx

에서
$.ajax({ 
     type: 'POST', 
     url: '/Service/WebService.svc/hello', 
     data: { 'say': 'sdfs' }, 
     contentType: 'application/json; charset=utf-8', 
     dataType:'json', 
     success: function (s) { 
      alert(s.d); 
     } 
    }); 

웹 구성

<system.serviceModel> 
    <services> 
     <service name="TETP.Service.WebService"> 
      <endpoint address="" 
      behaviorConfiguration="" 
      binding="basicHttpBinding" 
      contract="TETP.Service.IWebService" /> 
     </service> 
    </services> 
<behaviors> 
    <serviceBehaviors > 
    <behavior name=""> 
     <serviceMetadata httpGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="true" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<serviceHostingEnvironment aspNetCompatibilityEnabled="false" multipleSiteBindingsEnabled="true" /> 
<client> 
    <endpoint address="http://localhost:50571/Service/WebService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IWebService" contract="TETP.Service.IWebService" name="BasicHttpBinding_IWebService" /> 
</client> 

나는 400 잘못된 요청 오류가 발생하는 데 사용됩니다. 이제 415 Unsupported Media Type 오류가 발생합니다. 미리 감사드립니다.

답변

0

데이터 요청이 시도한 것과 다른 방식으로 따옴표가 필요할 수도 있지만 확실하지 않습니다. 내가 그것을 디버깅하기 전에 귀하의 데이터를 경고를 추가하는 것이 좋습니다. 아래를 참조하십시오.

var mData = "{userName:'" + $('#usernametxtbx').val() + "',password:'" + $('#passwordtxtbx').val() + "'}"; 
alert(mData); 
$.ajax({ 
     type: 'GET', 
     url: 'Service/WebService.svc/Login', 
     data:{userName:$('#usernametxtbx').val(),password:$('#passwordtxtbx').val()}, 
     dataType: 'application/json; content=utf-8', 
     contentType: 'json', 
     success: function (res) { 
     if(res.d == true) 
      window.location.replace(ResolveUrl('Default.aspx')); 
      else 
       window.location.replace(ResolveUrl('Login.aspx')); 
     } 
    }); 
+0

이것은 아닙니다. 인스턴트 메신저 보낼 수도 그냥 var 데이터 = {userName : $ ('# usernametxtbx'). val()} 및 데이터를 보낼 –

관련 문제