Я прочитал нить после потока здесь и в другом месте, пытаясь получить вызов ajax для перекрестного домена для работы. У меня есть Restful WCF-сервис, который возвращает простой bool. Я его установки с форматом надлежащего ответа (Json) и ожидаемого URL с параметром обратного вызова:Возникли проблемы с перекрестным вызовом службы jQuery/Ajax домена
[WebGet(RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "ShowCreditCardTextJQUERY?memberNumber={memberNumber}&callback={callback}",
BodyStyle = WebMessageBodyStyle.WrappedRequest)]
Мой Ajax выглядит следующим образом:
$.ajax({
url: "http://example.com/service/service.svc/ShowTextJQUERY",
type: "GET",
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
crossDomain:true,
data: "{'memberNumber':'" + memberNumber + "'}",
cache: false,
//success: alert(memberNumber),
success: function (data) {
var output = data;
if (!data) {
$("#dialog").dialog(
{
modal: true,
width: 735,
height: 550
});
}
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
}
});
Я получаю 200 для ответа, но это приходит в блок ошибок. Я в недоумении (и все еще довольно новый для jquery/ajax). Любая помощь будет принята с благодарностью.
Учитывая 200 ответ, но данные не звучит, как вы его остановили [Одинаковая политика происхождения] (http://en.wikipedia.org/wiki/Same-origin_policy). Если вы проверите консоль, вы можете это подтвердить; будет ошибка в принимающем домене, не имеющем заголовок «Access-Control-Allow-Origin». Включили ли вы CORS в службе WCF? –
У меня нет, как мне настроить это? – dreggas
Использование инструментов разработчика в IE Я вижу ответ, который, как я ожидаю, возвращается в тело ответа (в данном случае значение bool false), если я изменю тип данных на json вместо jsonp, он отлично работает на моем локальном хосте (очевидно) – dreggas