Это был первый пост я нашел и был самым полезным, но она по-прежнему осталось аа несколько вопросов, и я нашел несколько проблем с некоторыми ответами, в то время как я смог заставить его работать из-за всех ответов, я хотел добавить то, что я узнал, потому что он, кажется, высок в результатах поиска.
Я установил https://www.nuget.org/packages/WebApiContrib.Formatting.Jsonp и смог заставить его работать после того, как я добавил
GlobalConfiguration.Configuration.Formatters.Insert(0, new JsonpMediaTypeFormatter(new JsonMediaTypeFormatter()));
моей Global.asax на startas приложение Alex пшенице и mbudnik ответил, что заставило CORS прекратить работу на других частях моего API, который был полностью реализован.
У меня теперь все работает правильно и выучил несколько вещей из github разработчика пакета.
после установки пакета nuget, Добавьте следующее в свой Global.asax файл
GlobalConfiguration.Configuration.AddJsonpFormatter();
затем, если вы звоните в службу, используя ниже Jquery, просто замените URL с URL, и вы можете увидеть результаты в вас утешит. Я также рекомендую установить Fiddler Web Debugger, потому что это поможет вам устранить неполадки.
$.ajax({
url: 'http://jsfiddle.net/echo/jsonp/',
type: 'GET',
contentType: 'text/javascript',
crossDomain: true,
success: function(data) {
console.log(data);
},
error: function(jqXHR,status,error) {
console.log(error);
}
});
CONTENTTYPE: 'текст/JavaScript' важно. Это то, что сообщает веб-апи использовать Jsonp Formatter.
Не включают в себя тип данных «JSONP» - пример ниже
...type: 'GET',
dataType: 'jsonp',
crossDomain: true,...
это приведет к Web API использовать JsonMediaTypeFormatter и вы получите «JQuery randomfunctionstring не был назван parsererror» ошибка. Я знаю это из личного проб и ошибок. Надеюсь, это поможет кому-то другому.
Спасибо, что у меня была такая же проблема, как это разрешилось. Я вижу вокруг Интернета. Jsonp немного освещает документацию по сравнению с JSON. Есть ли какие-либо ссылки помимо найденных в вашем сообщении, которые вы нашли полезными для реализации? – sleath
JSONP - фактически объект JSON, но он завернут в вызов функции Javascript, указанный клиентом (параметр обратного вызова). Я не думаю, что для этого необходима документация. Он просто работает с использованием форматирования и любой jsonp-библиотеки javascript (например, jQuery). Я нашел сообщение Stackoverflow о том, что кто-то объясняет это более подробно: http://stackoverflow.com/questions/2067472/what-is-jsonp-all-about. Также обновлен мой ответ с новым рекомендованным пакетом. – mbudnik