我试图从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和Chrome中,res都包含空字符串。使用Fiddler监视请求后,jQuery会向服务器发送一个空请求,如此屏幕转储所示:http://imgur.com/EJgwS.png
这是成功的请求:http://imgur.com/S77BA.png
我做错了什么?
亲切的问候,
马丁
答案 0 :(得分:0)
http://ipv4.fiddler:5683
。由于跨域安全策略,不允许ajax请求。在FireFox中使用FireBug来查看发送到服务器的确切内容以及响应的内容。
答案 1 :(得分:0)
首先检查Darin Dimitrov的答案。然后考虑使用dataType: "jsonp"
进行跨域调用,返回json数据。
查看jQuery.ajax documentation以获取更多信息
答案 2 :(得分: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,