使用Ajax / jsonp从Web Api接收数据

时间:2013-01-02 23:15:14

标签: asp.net-mvc jquery asp.net-ajax asp.net-web-api jsonp

我使用Web Api构建了一个简单的Web服务,我希望使用jQuery从简单的mVC视图中使用它。我正在开发localhost并从Azure使用服务,这就是我使用jsonp的原因。

当我运行我的jQuery时,我在Fiddler中查看并且请求成功并且json发回,但.Ajax函数返回这些错误:

没有调用NaN,parsererror和回调

<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 个答案:

答案 0 :(得分:1)

是的,您在那里的问题的链接仍然相关。

ASP.NET Webapi没有附带了解'jsonp'数据类型的默认格式化程序,因此这里的解决方案是添加自定义JsonpMediaTypeFormatter(如您已链接的问题的答案中所示)。