Json结果没有绑定到aspx?

时间:2013-03-21 10:25:19

标签: c# asp.net json return-value

我有一个服务,它以下列格式返回json

Data {
    "TerminalID": 21,
    "TerminalName": "NewTested",
    "PortID": 27,
    "PortName": "Badu Island",
    "EffectiveStart": "2013-03-20T00:00:00",
    "EffectiveEnd": "2013-03-23T00:00:00",
    "ServiceID": 2
}

在我的aspx页面中,我的代码是:

<script type="text/javascript">
    $(document).ready(function () {
        $("#divImageGo").click(function () {
            var valId = 2;

            $.ajax({
                type: "GET",
                url: "VoyageOneService.svc/BindVoyageDetails" + valId,
                //data: '{"ServiceID":"2"}',
                processData: false,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (result) {                                         
                    ServiceSucceeded(result);
                },
                error: function (msg) {
                    $("#errorDiv").text(msg);
                }
            });

        });
    });

成功实现以下目标:

function ServiceSucceeded(data) {
    alert("Success");
    for (var i = 0; i < data.d.length; i++) {

        $("#dlistVoyageDetails").append("<tr><td>" + data.d[i].TerminalName + "</td><td>" + data.d[i].PortName + "</td><td>" + data.d[i].EffectiveStart + "</td></tr>" + data.d[i].EffectiveEnd + "</td></tr>");
    }        
}

function ServiceFailed(xhr) {
    if (xhr.responseText) {
        var err = xhr.responseText;
        if (err)
            error(err);
        else
                error({ Message: "Unknown server error." })
        }
        return;
    }

在此......,

  1. 我的服务名为
  2. 我得到了json的返回值
  3. Iam通过警报msg
  4. 获得了成功

    但我无法得到结果。当我用结果检查我的警报时,我得到NULL

1 个答案:

答案 0 :(得分:0)

删除if条件,它将起作用。

由于data.length为null,因此不满足条件。

function ServiceSucceeded(data) {
    alert("Success");


        $("#dlistVoyageDetails").append("<tr><td>" + data.d[i].TerminalName + "</td><td>" + data.d[i].PortName + "</td><td>" + data.d[i].EffectiveStart + "</td></tr>" + data.d[i].EffectiveEnd + "</td></tr>");

}