首页 > 解决方案 > 将 JSON 响应的数据存储到多个变量中

问题描述

我一直在获得与我需要的相同的 json 响应,但它是在数据响应中。我想将它存储在不同的变量中,以便我可以在 javascript 中以我需要的方式使用它。

传递 json 数据的函数是:

 public function get_Ajax(Request $request)
    {
        $b_id = $request->input('b_id');

            $pays = Booking::find($b_id);
            foreach ($pays->payments as $pay) {
                $paymentss[] = $pay->payment;
                $p_dates[] = $pay->created_at->format('d-M-Y');
            }

        return response()->json([
            $paymentss,
            $p_dates
        ]);
    }

调用该函数的按钮是:

<button class="btn btn-block btn-primary " data-toggle="modal" data-href="#full-width" href="#full-width" onclick="showdetail({{$book->id}})" style="background-color: #224777">View Payments Schedule</button>

以及获取响应的函数

function showdetail(b_id) {
$.get('/my-account/get_payments?b_id='+b_id, function(data){
alert(data)
});
}

请让我知道如何将数据拆分为两个变量。

标签: javascriptjqueryhtmlmodel-view-controllerlaravel-5.5

解决方案


您可以创建一个 JSON 对象。

例如:

$jsonObj= array('Payments' => $paymentss,
                'PaymentDates' => $p_dates);

这将创建以下 JSON:

{
    "Payments": payments,
    "PaymentDates": payDates
}

在响应函数中:

var payments = data.Payments;
var paymentDates = data.PaymentDates;

推荐阅读