Я пытаюсь получить вызов перекрестного домена для работы с использованием JSONP в JQuery. В IE метод предупреждения никогда не выполнялся. В FF/Safari/Chrome он всегда равен нулю. Я посмотрел на скрипача и результат от метода WCF как я ожидаю, что:Проводка JSONP с использованием JQuery и WCF
method({"Name":"blah1","Data":"blah2"});
Вот мой JavaScript:
$.getJSON("http://localhost:5603/MyService/?method=test", null, function (result) {
alert("in test: " + result);
$("#spText").html(result);
});
Вот метод WCF:
[OperationContract]
[WebInvoke(UriTemplate = "", Method = "GET",
BodyStyle=WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Json)]
public Message Blah()
{
var j = new { Name = "blah1", Data = "blah2" };
JavaScriptSerializer s = new JavaScriptSerializer();
string jsonClient = s.Serialize(j);
return WebOperationContext.Current.CreateTextResponse("method(" + jsonClient + ");",
"application/json; charset=utf-8", Encoding.UTF8);
}
Я чувствую, что я действительно близко к этому. Может ли кто-нибудь заметить что-то, что я делаю неправильно?
Это было. Забавно, как это работает. Я планировал добавить это в соответствии со спецификацией и эффективно закодировал его там («? Method = test» в оригинале), пока я не смог сделать танец, чтобы вытащить этот ключ из URL-адреса на сервере WCF, а затем повторно применить перед отправкой ответа. Оказывается, что это не динамично, это проблема. Спасибо за помощь. –