ASP.Net MVC WebService不使用JQuery,可以在浏览器中使用

时间:2012-11-15 01:13:44

标签: jquery asp.net-mvc web-services

今天,我编写了我的第一个ASP MVC WebService(.Net版本4,Entity4.2)。它非常简单,只返回一个自定义ItemChoice对象的数组。当我直接从IE调用它时,它想要下载json对象,当我从FF调用它时,我看到了对象的XML版本。

我正在使用与VS 12一起提供的jquery 1.7.1将Web服务集成到我正在localhost(开始)上构建的页面中。

当我从JQuery调用服务时会发生什么,成功函数永远不会运行。但是,如果我将getJSON指向同一服务的本地副本,它就可以工作。看看Charles Web Proxy,两者都回来了,似乎有相同的回报。

代码如下所示:

<script type="text/javascript">
    $(document).ready(function() {
        $.getJSON('http://myserver/CECService/api/itemchoices',
            function (data, status) {
                $.each(data, function(key, val) {
                    $('<option />', {value:val.itemValue, text:val.displayText}).appendTo('#School');

                });//end each
            });//end get json
    });//end document.ready
</script>

1 个答案:

答案 0 :(得分:3)

您遇到此问题,因为您正在进行违反浏览器same origin安全策略的ajax调用。有关可能的解决方法的说明,请参阅following

编辑:

另一种经常使用的方法是JSONP