我在尝试从 jquery 使用简单的 WCF 服务时遇到特殊问题。请看下面的代码:
$(document).ready(function () {
// Initialize the carousel on the header part of the page
$("#myCarousel").carousel({
interval: 2000
});
// The handler for the submit button (login form)
$("#submit").click(function () {
var sendData = '{"username": "' +
$("#usernameTB").val() +
'", "password": "' +
CryptoJS.MD5($("#passwordTB").val()) +
'"}';
$.ajax("Services/LoginUser.svc/Login", {
cache: false,
type: "POST",
data: sendData,
contentType: "application/json; charset=utf-8",
dataType: "json",
processData: true,
complete: ServiceCompleted
});
});
});
function ServiceCompleted(data) {
alert("Response: " + data.responseText);
}
当我使用 IE 中的这段代码时,它就像一个魅力,即调用被执行并返回我所期望的,请参阅下面的请求/响应的提琴手转储:
POST http://localhost/CanDoIT/Services/LoginUser.svc/Login HTTP/1.1
接受:应用程序/json、文本/javascript、*/*;q=0.01
内容类型:应用程序/json;字符集=utf-8
X-Requested-With: XMLHttpRequest
参考:http://localhost/CanDoIT/default.htm
接受语言:nl-NL,en-US;q=0.5
接受编码:gzip,放气
用户代理:Mozilla/5.0(兼容;MSIE 9.0;Windows NT 6.1;WOW64;Trident/5.0)
主机:本地主机
内容长度:64
连接:保持活动
Pragma:无缓存
{“用户名”:“”,“密码”:“d41d8cd98f00b204e9800998ecf8427e”}
HTTP/1.1 200 正常
缓存控制:私有
内容长度:10
内容类型:应用程序/json;字符集=utf-8
服务器:Microsoft-IIS/7.5
X-AspNet-版本:4.0.30319
X-Powered-By: ASP.NET
日期:2012 年 10 月 29 日星期一 09:31:15 GMT
{“d”:空}
如果我使用 Chrome 执行相同操作,我会收到以下请求/响应转储:
POST http://localhost/CanDoIT/Services/LoginUser.svc/Login HTTP/1.1
主机:本地主机
连接:保持活动
内容长度:64
来源:http://localhost
X-Requested-With: XMLHttpRequest
用户代理:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4
内容类型:应用程序/json;字符集=UTF-8
接受:应用程序/json、文本/javascript、*/*;q=0.01
参考:http://localhost/CanDoIT/default.htm?
接受编码:gzip、deflate、sdch
接受语言:nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4
接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.3
{“用户名”:“”,“密码”:“d41d8cd98f00b204e9800998ecf8427e”}
HTTP/1.1 200 正常
缓存控制:私有
内容长度:10
内容类型:应用程序/json;字符集=utf-8
服务器:Microsoft-IIS/7.5
X-AspNet-版本:4.0.30319
X-Powered-By: ASP.NET
日期:2012 年 10 月 29 日星期一 09:30:27 GMT
{“d”:空}
现在,警报没有向我显示 {"d":null} 文本。
有谁知道阻止我使用 responseText 的区别是什么?