Хранить данные ответа JSON в нескольких переменных - PullRequest
0 голосов
/ 30 апреля 2018

Я получаю ответ 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)
});
}

пожалуйста, дайте мне знать, как я могу разделить данные на две переменные.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Когда вы говорите «используйте это так, как мне нужно», что именно вы имеете в виду? Вы изменяете данные? Если нет, то вы можете просто передать объект JSON, как хотите, и все будет хорошо, не нужно делать ничего, кроме

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

Если вы собираетесь редактировать данные различными способами, самый простой способ скопировать JSON - это просто преобразовать в строку и затем проанализировать его следующим образом:

function showdetail(b_id) {
  $.get('/my-account/get_payments?b_id='+b_id, function(data){
    let var1 = JSON.parse(JSON.stringify(data)),
        var2 = JSON.parse(JSON.stringify(data));
  });
}
0 голосов
/ 30 апреля 2018

Вы можете создать объект JSON.

Например:

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

Который создаст следующий JSON:

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

А в функции ответа:

var payments = data.Payments;
var paymentDates = data.PaymentDates;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...