2012-11-15 77 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

謝謝。我不需要這麼長時間做這件事,我已經忘記了這一點。 –