我是WCF世界的新手。我有一个包含Web App的解决方案(其中包含对WCF服务应用程序的JQuery Ajax调用,这是解决方案中的另一个项目。经过2天的工作(破解)后,我处于可以传递请求并获得响应的状态
但是在尝试显示警报时会给我200解析器错误。
任何帮助都将非常感谢
进一步参考
$.ajax({
async: true,
type: 'GET', //GET or POST or PUT or DELETE verb
url: 'http://localhost:61057/Service1.svc/GetCustomer', // Location of the service
dataType: 'jsonp', //Expected data format from server
success: function (data) {//On Successfull service call
ServiceSucceeded(data);
},
error: function () { ServiceFailed(Data); } // When Service call fails
});
的Web.config
<system.serviceModel>
<services>
<service name="FIN.Services.Service1" behaviorConfiguration="DefaultBehavior">
<endpoint address="http://localhost:61057/service1.svc" binding="webHttpBinding" contract="FIN.Services.IService1" behaviorConfiguration="AjaxBehavior">
<identity>
<dns value="locahost"/>
</identity>
</endpoint>
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex"/>
</service>
</services>
<bindings>
<webHttpBinding>
<binding name="webBinding">
<security mode="None">
</security>
</binding>
</webHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="DefaultBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="AjaxBehavior">
<enableWebScript/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
服务接口:
[WebInvoke(ResponseFormat = WebMessageFormat.Json, Method = "GET", BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat = WebMessageFormat.Json)]
[OperationContract]
string GetCustomer();
答案 0 :(得分:0)
如果您不需要参数,请在您的ajax调用中添加以下内容。
数据:“{}”,
答案 1 :(得分:0)
您正在使用 jsonp ,表示您要调用跨域服务。 对于跨域服务,您的网址应如下所示
<强>的http://本地主机:?61057 / Service1.svc / GETCUSTOMER回调= 强>
并且您还必须在web.config中进行一些更改
查看以下链接以获取完整示例