簡體   English   中英

在 jQuery 中從 php 解析 json

[英]Parse json from php in jQuery

我有這個代碼:

$.ajax({
                                url: '{{ route('frontend.validation') }}?sex=' + $(".sex").val() + '&date=' + $(".date").val() + '&hour=' + $(".hour").val()+ '&track=' + $(".track").val(),
                                type: 'get',
                                dataType: 'json',
                                headers: {
                                    'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
                                },
                                cache: false,
                                success: function (response) {
                                    $.each(response, function (key, value) {

                                        console.log(response);
                                    })
                                }
                            });

結果我有:

{"status":"ok","message":"Twoja rezerwacja zosta\ła zrealizowana"}

在控制台我有:

[日志] {status: "ok", message: "Twoja rezerwacja została zrealizowana"} (projekt1.test, line 284) [Log] {status: "ok", message: "Twoja rezerwacja została zrealizowana"} (projekt1.test ,第 284 行)

我需要檢查我的狀態。 如果它“正常” - 那么我想在警報框中顯示消息。

當 status = "error" 他們時,我想顯示警告,並顯示“對不起,您的預訂有誤”。

我怎樣才能做到?

你已經有 json 對象,所以你不需要解析。 刪除每個方法,它使用鍵計數,因此您會收到兩次警報。

 success: function (response) { if(response.status==="ok"){ alert("ok") } else if(response.status==="error"){ alert("error") } }

試試這個

 $.ajax({ url: '{{ route('frontend.validation') }}?sex=' + $(".sex").val() + '&date=' + $(".date").val() + '&hour=' + $(".hour").val()+ '&track=' + $(".track").val(), type: 'get', dataType: 'json', headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') }, cache: false, success: function (response) { $.each(response, function (key, value) { var obj = JSON.parse( response ); console.log(obj['status']) }) } });

來自Mozilla 文檔

JSON.parse() 接受字符串文本輸入並返回與給定 JSON 文本對應的對象。

使用JSON.parse(response)然后讀取對象的索引“狀態”。

這個問題已經回答了這里鏈接

$.ajax({
    success: function(response){  
        $.each(response, function (key, value) {
            if(response.status==="ok"){
                alert("Twoja rezerwacja została zrealizowana");   
            }
            else if(response.status==="error"){
                alert("Sorry, we have error with yours reservation");
            }
        })
    },
    error: function(response) { 
        alert("Sorry, we have error with yours reservation"); 
    }
});
return False;
....

暫無
暫無

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

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