【问题标题】:wcf call from $.ajax does not work in chrome来自 $.ajax 的 wcf 调用在 chrome 中不起作用
【发布时间】:2012-10-18 14:55:19
【问题描述】:

我在尝试从 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
    });
});

}); 功能服务完成(数据){ alert("响应:" + 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":null}

如果我使用 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":null}

现在,警报没有显示 {"d":null} 文本。

有谁知道阻止我使用 responseText 的区别是什么?

【问题讨论】:

    标签: wcf jquery


    【解决方案1】:

    经过一番谷歌搜索后,我刚刚找到了解决问题的方法......

    看来我的表单上提交按钮的点击处理程序必须返回 false 才能使其工作。

    我不知道为什么,但它确实有效......

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多