我一直在获得与我需要的相同的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)
});
}
请告诉我如何将数据拆分为两个变量。
答案 0 :(得分:1)
您可以创建一个JSON对象。
例如:
$jsonObj= array('Payments' => $paymentss,
'PaymentDates' => $p_dates);
将创建以下JSON:
{
"Payments": payments,
"PaymentDates": payDates
}
在响应函数中:
var payments = data.Payments;
var paymentDates = data.PaymentDates;
答案 1 :(得分:-1)
当你说&#34;以我需要的方式使用它时,&#34;你到底什么意思?你在改变数据吗?如果没有,那么您可以随心所欲地传递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));
});
}