2012-11-15 37 views
0

今天,我写了我的第一个ASP MVC WebService(.Net版本4,Entity4.2)。它非常简单,只需返回一组自定义的ItemChoice对象。当我直接从IE调用它时,它想要下载json对象,当我从FF调用它时,我会看到对象的XML版本。ASP.Net MVC WebService与JQuery不兼容,从浏览器中工作

我工作的web服务集成到一个网页,我建立在本地主机(开始),使用jQuery 1.7.1附带VS 12

当我打电话的服务,会发生什么来自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> 

回答

3

您遇到这个问题,因为你在做一个Ajax调用违反浏览器的same origin安全策略。请参阅following以了解解决潜在问题的解决方法。

编辑:

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

+0

谢谢。我不需要这么长时间做这件事,我已经忘记了这一点。 –