我在尝试从 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 的区别是什么?