0

以下の私のjsファイル。

$('#DetailMaxGuest').change(function () {

    var result = $('#DetailMaxGuest option:selected').val();
    $('#DetailMaxGuest option:selected').val(result).attr('selected', 'selected');
    var resultparse = parseInt(result);
    var resultid = $('#resultid').val();
    var dateBegin = $('#DetailDatepicker').val();
    var dateEnd = $('#DetailDatepickerEnd').val();
    var price = $('#DetailRates option:first').val();
    var resultm = $('#DetailMaxGuest option:selected').val();
    if (resultm != "Select One") {
        kisi = parseInt(resultm);
    } else {
        kisi = null;
    }
    var message = {
        'resultid': resultid,
        'data': resultparse,
        'dateBegin': dateBegin,
        'dateEnd': dateEnd,
        'price': price
    };
    $("#LoadingImage").show();
    $.ajax({

        type: 'GET',
        url: '/Product/GetMaxGuest',
        data: message,
        dataType: 'json',
        success: function (data) {
            if (data.error) {

                $("#LoadingImage").hide();
                $('#reservation-result').html(data.msg).fadeIn(2000);
                $('#btn_reservation').hide();
                $('#btn_liste').show();
                } if (data.success) {
                $("#LoadingImage").hide();
                if (kisi != null) {
                    $('#PriceDetails').show();
                } else {
                    $('#PriceDetails').hide();
                }
                $('#lblTotalPrice').html(data.toplam).fadeIn(2000);
                $('#lblDeposit').html(data.deposit).fadeIn(2000);
                $('#lblTotal').html(data.totalsum).fadeIn(2000);
                $('#btn_reservation').show();
                $('#btn_liste').hide();

            }
        },
        complete: function () {
            $('#reservation-result').fadeOut(5000);
        }


    });

});

そして私のコントローラーはメッセージを返します。

入金: "100 $" msg: "" 成功: true toplam: "1.220 $" totalsum: "1.320 $"

しかし、自分のページにデータが表示されません。js は動作していますが、データが表示されません。

私のかみそり;

<div id="reservation-result" style="width: 100%; height: 80px; display: inline-block; text-align: left; font-size:12px; font-weight: bold; color:brown;">
                                <table id="PriceDetails" style="display: none;">
                                    <tr>
                                        <td style="width: 75%;">Toplam Fiyat</td>
                                        <td style="width: 25%; text-align: right;"><div id="TotalPrice">@Html.Label("lblTotalPrice",new{id="lblTotalPrice", name="TotalPrice"})</div></td>

                                    </tr>
                                    <tr>
                                        <td>Depozito</td>
                                        <td style="width: 25%; text-align: right;">
                                            <div id="Deposit">@Html.Label("Deposit",new{id="lblDeposit", name="Deposit"})</div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>Genel Toplam</td>
                                        <td style="width: 25%; text-align: right;">
                                            <div id="Total">@Html.Label("Total",new{id="lblTotal", name="GrandTotal"})</div>
                                        </td>
                                    </tr>
                                </table>
                                <div id="LoadingImage" style="display: none;">
                                    <img src="@Url.Content("~/Content/images/prettyPhoto/dark_rounded/loader.gif")" alt="Loading"/>
                                </div>
                            </div>
                        <input id="btn_reservation" class="gradient-button center" type="submit" style="width: 230px;" value="Rezervasyon yap" />
         }
                        <input id="btn_liste" class="gradient-button center" type="submit" style="width: 230px; display: none;" value="Listeye Dön" />

助けてくださいppp :)どうもありがとう。

4

3 に答える 3

1

あなたのコードでは、次のステートメントが表示されます。

if (data.error) {

そうではないはずです:

if (!data.error) {
于 2013-05-21T14:04:23.753 に答える
1

コードにいくつかの問題があります。

  1. コントローラーで返されたものは、有効な JSON ではありません。有効な JSON データを返すようにコントローラーを変更してください。次のようになります
{
    "deposit": "100 $",
    "msg": "",
    "success": true,
    "toplam": "1.220 $",
    "totalsum": "1.320 $"
}
  1. のように確認するif (data.error)には、JSON から返す必要があります。しかし、あなたのJSONにはerrorパラメータがありません。
于 2013-05-21T14:06:26.090 に答える
0

基本的に、有効な JSON 配列が返されません。あなたの場合、データは HTML 形式で返され、JSON 形式でデータを返す必要があります。

次のように JSON 配列を使用します。

 [{
        "deposit": "100 $",
        "msg": "",
        "success": true,
        "toplam": "1.220 $",
        "totalsum": "1.320 $"
    }]

または JSON オブジェクト:

{
    "deposit": "100 $",
    "msg": "",
    "success": true,
    "toplam": "1.220 $",
    "totalsum": "1.320 $"
}

ありがとう、これがあなたを助けることを願っています。

于 2013-05-21T14:21:10.300 に答える