0

jquery ajaxを使用しているasp.netページがあります。$.ajax で URL として使用できるメソッドを作成する必要があります。ネットで検索したところ、WCF サービスを作成する必要があることがわかりました。私の解決策はasp.net 3.5にあります。このような IJsonDataService.cs インターフェイスに2つのメソッドを作成しました

    [ServiceContract]
    public interface IJsonDataService
    {
        [OperationContract]
        Person DoWork();

        [OperationContract]
        string GetData();
    }

and then in class file I have implemented them like this:

   [WebGet(RequestFormat= WebMessageFormat.Json, ResponseFormat=WebMessageFormat.Json,UriTemplate="data/{id}")]
 public Person DoWork(){
 return new Person();

}

 [WebGet(RequestFormat= WebMessageFormat.Json, ResponseFormat=WebMessageFormat.Json,UriTemplate="data/{id}")]
    public string GetData(string parameter)
    {
        return "this is" + abc;
    }

私の web.config は次のようになります。

<system.serviceModel>
        <behaviors>
            <serviceBehaviors>
                <behavior name="JsonDataServiceBehavior">
                    <serviceMetadata httpGetEnabled="true" />
                    <serviceDebug includeExceptionDetailInFaults="false" />
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <services>
            <service behaviorConfiguration="JsonDataServiceBehavior" name="JsonDataService">
                <endpoint address="" binding="wsHttpBinding" contract="IJsonDataService">
                    <identity>
                        <dns value="localhost" />
                    </identity>
                </endpoint>
                <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
            </service>
        </services>
    </system.serviceModel>

これらのメソッドに Id を渡し、データベースにクエリを実行して結果を返し、結果を json としてフォーマットし、その json を $.ajax メソッドに戻します。上記のメソッドでどのような変更を加える必要がありますか?また、データを json として返し、それを $.ajax で使用するにはどうすればよいですか? 提案してください。

4

3 に答える 3

0

これを確認してください。このアプローチは、達成したいものと似ています。

MVCアプリのWebサービス

サンプルのJSONPが必要な場合は、「私のJavaScriptが正常に機能しない」を参照してください。

于 2013-02-20T06:08:07.410 に答える
0

設定は次のようにする必要があります。

<system.serviceModel>
<endpointBehaviors>
        <behavior name="web">
          <webHttp />
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
        </behavior>
        <behavior name="json">
          <enableWebScript />
        </behavior>
      </endpointBehaviors>
        <behaviors>
            <serviceBehaviors>
                <behavior name="JsonDataServiceBehavior">
                    <serviceMetadata httpGetEnabled="true" />
                    <serviceDebug includeExceptionDetailInFaults="false" />
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <services>
            <service behaviorConfiguration="JsonDataServiceBehavior" name="JsonDataService">
                <endpoint address="" behaviorConfiguration="web" binding="webHttpBinding" contract="namespace.IJsonDataService">                       
                </endpoint>                    
            </service>
        </services>
    </system.serviceModel>
于 2013-02-20T10:20:46.820 に答える
0

ここに私が有用であることがわかったいくつかの記事のチュートリアルがあります

http://geekswithblogs.net/Nettuce/archive/2009/10/18/wcf-jquery-rest-json-service.aspx

これが一番使いやすかった

http://bendewey.wordpress.com/2009/11/24/using-jsonp-with-wcf-and-jquery/

于 2013-02-20T05:50:03.460 に答える