I\'m new at AJAX and I\'m trying to access a WCF web service the following way:
$(function () {
$(\'#formNew\').submit(function () {
var datos =
I normally use the following configuration to enable ajax calls to my WCF services:
1) First I create a JSON endpoint behaviour in Web.config and associate my service to it:
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="WebHttpJson">
<webHttp defaultBodyStyle="Wrapped"
defaultOutgoingResponseFormat="Json" />
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service name="MyApp.LoginService">
<endpoint address=""
behaviorConfiguration="WebHttpJson"
binding="webHttpBinding"
contract="MyApp.LoginService" />
</service>
</services>
</system.serviceModel>
2) Then I can simply define my WCF service like this:
[ServiceContract]
public class LoginService
{
[OperationContract]
public void SignIn(string email, string pswd)
{
// Check credentials and create session cookie
}
}
3) And finally make jQuery ajax calls like showed below:
$.ajax({
contentType: 'application/json; charset=utf-8',
url: serviceUrl + '/SignIn',
type: 'POST',
data: JSON.stringify({
email: 'john.doe@abc.com',
pswd: 'qwerty'
}),
success: function () { alert('success!'); },
error: function () { alert('error!'); }
});
The JSON.stringify(data) use is to convert a javascript object to json representation.
I think that in the success\error functions you need to go the other way:
success: function (data) {
alert("Exito " + JSON.parse(data));
},
error: function (data) {
alert("Error " + JSON.parse(data));
}
(when using JSON.parse, JSON.stringify - make sure you included the json2.min.js in your project)