0

モバイル Web アプリ用の単純な WCF Web サービスを構築しています。ブラウザで結果を見ることができますが、WCFにリクエストを送信し

た時点でスタックしています。$.ajax405 - Method not allowhttp://http://localhost:35798/RestServiceImpl.svc/json/23ReturnJSONData()

私は何百もの異なる投稿を経験しましたが、答えのどれも私の問題を解決しませんでした.

AJAX リクエスト

$.ajax({
    type: "GET",
    url: "http://localhost:35798/RestServiceImpl.svc/json/34",
    contentType: "application/json; charset=utf-8", 
    success: function(data) {
    console.log(data);
    },
});

IRestServiceImpl.cs

namespace RestService{
    [ServiceContract]
    public interface IRestServiceImpl
    {
        [OperationContract]
        [WebInvoke(
            Method = "GET",
            ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Wrapped,
            UriTemplate = "json/{id}"
            )]
        string ReturnJSONData(string id);
    }
}

RestServiceImpl.svs.cs

namespace RestService {
    public class RestServiceImpl : IRestServiceImpl {
        public string ReturnJSONData(string id) {
            return "You requested product " + id;
        }
    }
}

WebConfig

<?xml version="1.0"?>
<configuration>

    <system.web>
    <compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<services>
    <service name="RestService.RestServiceImpl" behaviorConfiguration="ServiceBehaviour">
        <endpoint address ="" binding="webHttpBinding" contract="RestService.IRestServiceImpl" behaviorConfiguration="web">
        </endpoint>
    </service>
</services>

<behaviors>
    <serviceBehaviors>
        <behavior name="ServiceBehaviour">
            <serviceMetadata httpGetEnabled="true" />
            <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
    </serviceBehaviors>
    <endpointBehaviors>
        <behavior name="web">
            <webHttp/>
        </behavior>
    </endpointBehaviors>
</behaviors>
<standardEndpoints>
    <webHttpEndpoint>
        <standardEndpoint name=""
        helpEnabled="true"
        automaticFormatSelectionEnabled="true"
        defaultOutgoingResponseFormat ="Json"
        crossDomainScriptAccessEnabled="true"/>
    </webHttpEndpoint>
</standardEndpoints>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

</configuration>

どんな提案でも大歓迎です。

4

0 に答える 0