Cross Domain JQuery Ajax Request & WCF REST Service
Wywoływam (żądanie Ajax) usługę REST WCF, a żądanie jest żądaniem między domenami.
Jeśli wdrożę moją usługę w tej samej domenie, wszystko działa jak śmietanka. W końcu w produkcji usługa będzie w innej domenie.
Używam jQuery 1.5.2. Moja usługa zwraca mi błąd mówiący:
<code>errorThrown: "jQuery15208493315000087023_1334089616458 was not called" textStatus: "parsererror" </code>
Chociaż w Firefoksie mogę zobaczyć wartości JSON, ale wykonanie należy do obsługi błędów żądania Ajax.
Moje żądanie Ajax to:
<code>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); } }); } </code>
Po stronie usługi WCF skonfigurowałem CrossDomainScriptAccess na true:
<code><webHttpBinding> <binding name="webHttpBindingWithJsonP" crossDomainScriptAccessEnabled="true" /> </webHttpBinding> </code>
Odpowiedź JSON, którą otrzymuję z serwera to:
<code>[{"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)\/"}] </code>
Czy brakuje mi tutaj jakichkolwiek ustawień. Cały kod działa poprawnie, jeśli usługa jest przenoszona do tej samej domeny.
Zajrzałem do podobnego postu, ale nie mogłem zrobić tego.