2010-10-17 80 views
0

我在我的網頁中有以下腳本來呼叫到我已創建並在我的Web服務器上託管的啓用JSON的WCF服務。但是,警報顯示「null」。當我指向瀏覽器中的網址時,它會返回非常簡單的JSON:{"city":"Ann Arbor"}。另外,當我運行包含下面代碼的頁面時,Fiddler運行,我可以看到服務被擊中,JSON返回。但是,下面的成功函數仍然返回null。任何人都知道我在做什麼錯了?謝謝。 -Ned使用jQuery調用支持JSON的WCF服務返回null

<script type="text/javascript"> 
    $.ajax({ 
     type: "GET", 
     url: "http://192.168.192.17:8080/Service.svc/class/", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (data) { 
      alert(data); 
     } 
    }); 
</script> 

回答

1

我懷疑問題來自於事實,你試圖調用使用AJAX這是不是在同一個域調用腳本託管的Web服務,因此你違反了same origin policy。如果您希望能夠使用AJAX調用http://192.168.192.17:8080/Service.svc,則調用腳本也需要託管在http://192.168.192.17:8080上。

作爲一種可能的解決方法,您可以使用服務器端腳本作爲與客戶端腳本位於同一域的網橋,或者如果您可以控制Web服務,則使用JSONP

+0

我結束了它託管在其上是好的,現在同一個域。謝謝你的幫助。 – Ned 2010-10-20 13:41:37

0

你可以定義一個誤差函數,看看是什麼問題:

$.ajax({ 
    error: function(XMLHttpRequest, textStatus, errorThrown) { 
    alert(errorThrown) 
    }, 
    //....... 
})