簡體   English   中英

從從表單檢索的Ajax序列化數據中設置JSON數據

[英]Set JSON data from Ajax serialized data retrieved from a form

這是我的html形式:

<form role="form" id="booking" class="form-horizontal" action="booking.json" method="POST">
                <div class="form-group">
                    <label for="destination">Destination:</label>
                    <select id="destination" name="destination" class="form-control" title="Select your Destination...">
                        <option value="Dominican Republic">dominican</option>
                        <option value="Miami, Florida">miami</option>
                        <option value="Las Vegas, Nevada">vegas</option>
                    </select>
                </div>
                <div class="form-group">
                    <label for="quantity">Nights:</label>
                    <input type="number" id="quantity" name="quantity" value="1">
                </div>

                <div class="form-group">
                    <button type="submit" class="btn btn-default text-uppercase">Book Trip</button>
                </div>
                <div class="form-submitted" style="display: none">
                </div>
            </form>

這是我的Ajax:

$.ajax( form.attr('action'), {
        timeout: 3000,
        type: 'POST',
        contentType: 'application/json',
        dataType: 'json',
        data: form.serialize(),
        beforeSend: function () {
            $('.booking-flight').addClass("spinner");
        },
        complete: function () {
            $('.booking-flight').removeClass("spinner");
        },
        error: function (request, errorType, errorMessage) {
            alert(errorMessage);
        },
        success: function (response) {
            console.log($('form').serialize());
            form.remove();
            var msg = $("<p></p>");
            msg.append("Destination: " + response.destination);
            msg.append("Nights: " + response.quantity);
            $('.booking-flight').hide().html(msg).fadeIn();
        }
    });

這是我設置的隨機信息的JSON文件:

{
  "destination": "Dominican Republic",
  "totalPrice": 199.99,
  "quantity": 5,
  "confirmation": 234235
};

如何檢索從Ajax發送的序列化數據並將其設置為JSON的File ...,以便從表單中獲取正確的數據?

您可以使用json_decode($user_json_data)

json_decode($user_json_data)將返回一個對象

json_decode($user_json_data,TRUE)將返回一個數組

您可以使用jQuery函數.serializeArray(); 然后按照此處所述操作響應: https : //stackoverflow.com/a/1186309/507384

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM