0

今天,我编写了我的第一个 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>
4

1 回答 1

3

您遇到了这个问题,因为您正在进行违反浏览器同源安全策略的 ajax 调用。有关潜在解决方法的说明,请参阅以下内容。

编辑:

另一种常用的方法是JSONP

于 2012-11-15T04:32:07.293 回答