【问题标题】:Jquery not calling Webservice method in firefox browser and it is working good in Chrome and IEJquery 没有在 firefox 浏览器中调用 Webservice 方法,它在 Chrome 和 IE 中运行良好
【发布时间】:2016-04-13 04:31:14
【问题描述】:

我正在从 ajax jquery 调用 webservice 方法,它在 Chrome 和 IE 浏览器中运行良好,但在 Firefox 中无法运行。

jQuery 代码:

$("#btnUpdate").click(function () {
   var objEmp = {
       employeeID:$("#EmployeeID").val(),
       employeeCode: $("#txtEmpCode").val(),
       employeeNotes: $("#txtupdatenote").val(),
       employeeAccessLevelID: $('#ddlupdateAccess').val()
   }
   var data = JSON.stringify({ objEmpUpdateRequest: objEmp });
   //alert(ajaxHelper('WebService.asmx/EmpUPDATE', data));

   ajaxHelper('WebService.asmx/EmpUPDATE', data).done(function (data) {
       var result = JSON.parse(data.d);          
       main[result.ObjResponse.responseMethod](result);
   }).fail(function (Header, TextStatus, ErrorMsg) {
       displayAlertMessage(TextStatus + ":" + ErrorMsg);
   });
});

如果你检查代码有一个警报

alert(ajaxHelper('WebService.asmx/EmpUPDATE', data));

当我取消注释此警报时,它也在 Firefox 中工作。

我参考了以下链接:

Jquery code working in Chrome but not in Firefox

JQuery UI working on chrome but not firefox

【问题讨论】:

  • 你的意思是'你想发出一个ajax请求并检测它是成功还是失败'?
  • 不使用上述方法我正在调用 webservice 方法(EmpUPDATE)。
  • 你所说的'方法'是你webservice.asmx的方法,不是吗?我被误解了,我以为这是javascript的方法。

标签: javascript jquery ajax jquery-ui


【解决方案1】:

试试这个“更易读”的脚本:

    $("#btnUpdate").click(function () {
       var objEmp = {
           employeeID:$("#EmployeeID").val(),
           employeeCode: $("#txtEmpCode").val(),
           employeeNotes: $("#txtupdatenote").val(),
           employeeAccessLevelID: $('#ddlupdateAccess').val()
       }
       var data = JSON.stringify({ objEmpUpdateRequest: objEmp });
       $.ajax({
            url     : "WebService.asmx/EmpUPDATE",
            data    : data,
            type    : "post",
            dataType: "json",
            cache   : false,
            success : function (result){
                alert("success\n"+result.toSource());
            },
            error   : function (a,b){
                alert(a.responseText+"\n"+a.statusText);
            }
       });
}

注意:我不知道你会用这条线做什么:

main[result.ObjResponse.responseMethod](result);

【讨论】:

  • 该方法会将响应对象返回给 BL 类。
  • 是的。您可以从上述脚本的success 部分中的result 获得它。并且 result 已经格式化为 JSON。如果您的 web 服务的返回不是 json 格式的,它将转到上述脚本的 error 部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多