jQuery调用WCF
1. 添加System.ServiceModel和System.ServiceModel.Web的引用
2.
//契约
[ServiceContract]
public interface IService1
{
//[WebGet] //WebGet与WebInvoke冲突,只能使用一个
[OperationContract]
[WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest,Method="GET")]
string DoWork();
}
//实现
//Service1.svc.cs
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service1 : IService1
{
public string DoWork()
{
return System.DateTime.Now.ToString();
}
}
<behaviors>
<serviceBehaviors>
<behavior name="WebApplication1.Service1Behavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="DiggServiceBehavior">
<enableWebScript/><!--impont-->
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="WebApplication1.Service1Behavior"
name="WebApplication1.Service1">
<!--只能使用webHttpBinding-->
<endpoint address="" binding="webHttpBinding" contract="WebApplication1.IService1" behaviorConfiguration="DiggServiceBehavior">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
调用
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js" type="text/javascript"></script>
<script language="javascript" type="text/jscript">
$.ajax({
url: "Service1.svc/dowork",
type: "POST",
context: document.body,
contentType: 'application/json; charset=utf8',
success: function(data) {
alert("ok:" + data);
},
error: function(xhr) {
alert("err:" + xhr.responseText);
}
});
</script>
http://blog.csdn.net/gisfarmer/archive/2009/07/16/4352634.aspx
http://www.cnblogs.com/binglingshui/archive/2008/12/29/1364647.html