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を入れているとき、私は応答を得ることができます。誰かが私にこれを理解させる手助けはできますか?
また、このCodeProjectの記事は、私が実際に仕事を得ることができたクロスドメインの呼び出しの最初の例です。私が上記のプロジェクトと統合すると、jsonpとのクロスドメインを行う更新されたファイルを投稿します:http://www.codeproject.com/Articles/223572/Calling-Cross-Domain-WCF-service-using-Jquery- Java – theo
http://submissiv.com/share/playground.wcf.service_jsonp.zip - これはクロスドメインで動作します。 – theo