2010-03-15 68 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, 
相关问题