【问题标题】:Simple javascript wcf webservice call returns null for result on success简单的 javascript wcf webservice 调用返回 null 以表示成功
【发布时间】:2014-09-18 03:10:57
【问题描述】:

我正在尝试从返回布尔值的 javascript 进行简单的 WCF Web 服务调用。

我在页面中有脚本管理器。

如下所示,回调结果在 OnAssignSuccess javascript 方法中总是返回 null。

如果需要,我可以提供 web.config。

诊断跟踪显示在根中返回布尔值,但这不是响应的一部分,如下所示。

这里是javascript代码

function OnAssignBackup() {
   var employees = document.getElementById("<%=cmbBackup.ClientID%>");
   PT.UpdateBackupSupervisor(employees.value, OnAssignSuccess, OnAssignFailed);
}

function OnAssignSuccess(result) {
   alert('Successfully updated your backup supervisor ' + result);
   // result is null
}

这是简单的网络服务

[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class PT
{
    [OperationContract]
    [WebInvoke(ResponseFormat = WebMessageFormat.Json)]
    public bool UpdateBackupSupervisor(string backupUserGUID)
    {
        bool bRet = false;
    .
    .
    .
        return bRet;
    }
}

这是诊断跟踪

<MessageLogTraceRecord>
<Addressing xmlns="http://schemas.microsoft.com/2004/06/ServiceModel/Management/MessageTrace">
<Action>urn:PT/UpdateBackupSupervisorResponse</Action>
</Addressing>
<HttpResponse xmlns="http://schemas.microsoft.com/2004/06/ServiceModel/Management/MessageTrace">
<StatusCode>OK</StatusCode>
<WebHeaders>
<Content-Type>application/json; charset=utf-8</Content-Type>
</WebHeaders>
</HttpResponse>
<root type="object" xmlns="">
<d type="boolean">true</d>
</root>
</MessageLogTraceRecord>

【问题讨论】:

    标签: javascript asp.net wcf


    【解决方案1】:

    我通过使用 jquery ajax 调用使其工作,如下所示。

    function OnAssignBackup() {
        var employees = document.getElementById("<%=cmbBackup.ClientID%>");
        $.ajax
            (
                {
                    type: 'GET',
                    url: '../../Services/PT.svc/UpdateBackupSupervisor',
                    data: { backupUserGUID: employees.value },
                    success: function (response, status, error) {
                        alert('Successfully Updated Backup Supervisor: ' + status);
                    },
                    error: function (request, status, error) {
                        alert('Update Backup Supervisor Failed with error: ' + error);
                    }
                }
            );
    }
    

    我在 web.config 中使用 webHttp 行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-15
      • 2017-09-01
      • 2021-03-06
      • 2013-09-22
      • 2018-02-27
      • 1970-01-01
      相关资源
      最近更新 更多