使用 Ajax/jsonp 从 Web Api 接收数据
Posted
技术标签:
【中文标题】使用 Ajax/jsonp 从 Web Api 接收数据【英文标题】:Using Ajax/jsonp to receive data from Web Api 【发布时间】:2012-12-17 08:00:43 【问题描述】:我使用 Web Api 构建了一个简单的 Web 服务,我想使用 jQuery 从一个简单的 mVC 视图中使用它。我在 localhost 上开发并使用 Azure 的服务,这就是我使用 jsonp 的原因。
当我运行我的 jQuery 时,我在 Fiddler 中查看,请求成功并且 json 被发回,但是 .Ajax 函数返回这些错误:
未调用 NaN、解析器错误和回调
<script>
$(function ()
var callback = function(data)
alert(data);
;
$.ajax(
url: 'http://itjobsdirect.azurewebsites.net/api/values/getbytitle?title=developer',
type: 'GET',
dataType: 'jsonp',
jsonpCallback: 'callback',
success: function (data)
$('#main').text(data);
,
error: function(jqXHR, textStatus, error)
alert(jqXHR.status + jqXHR.message);
alert(textStatus);
alert(error);
);
);
</script>
我发现了这个问题:JsonP with Web Api 它仍然相关吗?
感谢您的帮助!
【问题讨论】:
【参考方案1】:是的,指向您那里的那个问题的链接仍然相关。
ASP.NET Webapi 没有提供理解“jsonp”数据类型的默认格式化程序,因此这里的解决方案是添加自定义 JsonpMediaTypeFormatter(如您所链接问题的答案所示)。
【讨论】:
最后使用了显示模块和 Handlebars 模板以上是关于使用 Ajax/jsonp 从 Web Api 接收数据的主要内容,如果未能解决你的问题,请参考以下文章