I am calling (Ajax Request) a WCF REST service and the request is a cross domain request.
If I deploy my service in the same domain, everything works like cream. Eventually in production, the service will be in a different domain.
I am using jQuery 1.5.2. My service returns me an error saying:
errorThrown: "jQuery15208493315000087023_1334089616458 was not called"
textStatus: "parsererror"
Although in Firefox I can see the JSON values but execution falls to the error handler of Ajax request.
My Ajax request is:
function CallService() {
    $.ajax({
        type: "GET", 
        url: "http://SomeService/EmpService.svc/GetValues?dv=1455",
        contentType: "application/json; charset=utf-8",
        dataType: "jsonp", 
        processdata: false,            
        success: function (data) {
            ServiceSucceeded(data);
        },
        error: function (jqXHR, textStatus, errorThrown) {
            debugger;
            alert("Service Error");
            ServiceFailed(jqXHR, textStatus, errorThrown);
        }
    });
}
On WCF Service side, I have configured CrossDomainScriptAccess to true:
<webHttpBinding>
  <binding name="webHttpBindingWithJsonP"
           crossDomainScriptAccessEnabled="true" />
</webHttpBinding>
JSON response which I get from the server is:
[{"Message": "Stop On Duty", "MessageTime": "\/Date(1334068773893-0500)\/"},
 {"Message": "Start On Duty", "MessageTime": "\/Date(1334068763540-0500)\/"},
 {"Message": "App_testing_4102012924am", "MessageTime": "\/Date(1334068533627-0500)\/"},
 {"Message": "Kunal_testing_4102012924am", "MessageTime": "\/Date(1334067945510-0500)\/"},
 {"Message": "Alert: Door Open", "MessageTime": "\/Date(1334066280963-0500)\/"}]
Am I missing anything here in the settings. Entire code works fine if the service is moved to the same domain.
I looked into similar post but couldn't make this work.
Well I figured out on my own. Solution was to modify the configuration file holding the service details
I added Standard Endpoint and the binding in the config file
<standardEndpoints>
      <webScriptEndpoint>
       <standardEndpoint crossDomainScriptAccessEnabled="true">
       </standardEndpoint>
      </webScriptEndpoint>
      </standardEndpoints>
  <bindings>
  <webHttpBinding>
    <binding name="webHttpBindingWithJsonP"
             crossDomainScriptAccessEnabled="true" />
  </webHttpBinding> 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With