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

}
于 2013-03-21T10:40:10.807 に答える