2010-03-15 53 views
0

我想從jQuery調用WCF RESTful服務。我使用JSON來編碼請求和響應。

下面的代碼功能正確IE8:

url = 'http://ipv4.fiddler:5683/WeatherWCF/NewBinding/MyService/GetValueFloat'; 

$.ajax({ 
     url: url, 
     data: '{"alias": "Udetemperatur"}', 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     dataType: "text", // not "json" we'll parse 
     success: 
       function(res) { 
        alert('Received response: ' + res); 
        } 
    }); 

然而,在兩種Firefox和鉻,RES包含空字符串。使用招來監控請求後,似乎jQuery的發送一個空請求到服務器如本屏幕轉儲:http://imgur.com/EJgwS.png
這是成功的要求:http://imgur.com/S77BA.png

我在做什麼錯?

親切的問候,

馬丁

回答

0

http://ipv4.fiddler:5683。由於安全策略跨域Ajax請求是不允許的。在FireFox中,使用FireBug可以準確查看發送給服務器的內容以及響應情況。

+0

原來,XSS保護是罪魁禍首 - 託管在同一個域名IIS解決了這個問題。 謝謝:) – 2010-03-15 13:14:17

0

首先檢查Darin Dimitrov的回答。然後考慮使用dataType: "jsonp"進行跨域調用,它將返回json數據。

檢查jQuery.ajax documentation瞭解更多信息

0

嘗試更改URL變量的名稱..

要麼

myurl = 'http://ipv4.fiddler:5683/WeatherWCF/NewBinding/MyService/GetValueFloat'; 

$.ajax({ 
     url: myurl , 

或將圍繞重點名字報價..

url = 'http://ipv4.fiddler:5683/WeatherWCF/NewBinding/MyService/GetValueFloat'; 

$.ajax({ 
     'url': url, 
相關問題