2012-02-03 21 views
0

jQueryからWCFメソッドを呼び出す方法についての記事がたくさんありますが、それを動作させることはできません。私は、単純なWCFサービスアプリケーションにjQueryからWCFサービスを呼び出すことができません

[ServiceContract] 
public interface IService1 
{ 

    [OperationContract] 
    [WebInvoke(Method = "GET", BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] 
    string GetData(int value); 

} 

を持っている。これは、実装

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
public class Service1 : IService1 
{ 

    public string GetData(int value) 
    { 
     return string.Format("You entered: {0}", value); 
    } 
} 

であり、これは今、私がしようとしている私のサービスのweb.configファイル

<system.serviceModel> 
<behaviors> 
    <endpointBehaviors> 
    <behavior name="TestWebApp.Service1AspNetAjaxBehavior"> 
     <enableWebScript /> 
    </behavior> 
    </endpointBehaviors> 
    <serviceBehaviors> 
    <behavior name="TestWebApp.Service1AspNetAjaxBehavior"> 
     <serviceMetadata httpGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="true"/> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" 
    multipleSiteBindingsEnabled="true" /> 
<services> 
    <service name="jQueryToWCF.Service1"> 
    <endpoint address="" 
       behaviorConfiguration="TestWebApp.Service1AspNetAjaxBehavior" 
       binding="webHttpBinding" 
       contract="jQueryToWCF.IService1" /> 
    </service> 
</services> 

ですこれをjQueryから呼び出す(htmlページから)

$(document).ready(function() { 
     var param = "{value: 'Hello World!'}"; 
     $.ajax({ 
      type: "GET", 
      url: "http://localhost:5555/Service1.svc/GetData", 
      data: param, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (result) { 
       alert(result.d); 
      } 
     }); 
    }); 

しかし、サービスを呼び出すことはありません。私はフィドラーによってそれをチェックした。しかし、私はブラウザにURLを入れているとき、私は応答を得ることができます。誰かが私にこれを理解させる手助けはできますか?

答えて

0

私はしばらくこのことに苦労してきました。

最終的に私が動いてしまったページはこの1つだった。一方http://forums.asp.net/t/1765610.aspx/1

:ここでは動作するはずの機能プロジェクトファイルです。正しいポート番号になるようにjavascriptのURLを置き換える必要があるかもしれません。

http://submissiv.com/share/playground.wcf.service.zip

+0

また、このCodeProjectの記事は、私が実際に仕事を得ることができたクロスドメインの呼び出しの最初の例です。私が上記のプロジェクトと統合すると、jsonpとのクロスドメインを行う更新されたファイルを投稿します:http://www.codeproject.com/Articles/223572/Calling-Cross-Domain-WCF-service-using-Jquery- Java – theo

+0

http://submissiv.com/share/playground.wcf.service_jsonp.zip - これはクロスドメインで動作します。 – theo

関連する問題