0

我有一项服务,它以以下格式返回 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. 我正在通过其警报消息触发成功

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

4

1 回答 1

0

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

由于 data.length 为空,因此您的条件不满足。

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>");

}
于 2013-03-21T10:40:10.807 回答