如何将Laravel返回的JSON响应数据存储为JavaScript多变量
在JavaScript中存储后端返回的JSON数据为独立变量
没问题,我来帮你搞定这个需求!你已经通过后端的get_Ajax方法拿到了包含付款金额和对应日期的JSON响应,现在只需要在前端把这些数据拆解成单独的变量,就能按需使用了。
第一步:明确后端返回的JSON结构
从你的后端代码来看,最终返回的JSON应该是类似这样的结构:
{ "paymentss": [150, 300, 220], "p_dates": ["05-Apr-2024", "20-Apr-2024", "02-May-2024"] }
其中paymentss是付款金额数组,p_dates是对应的付款日期数组。
第二步:前端AJAX请求并拆解变量
下面给你两种常用的前端处理方式,你可以根据项目技术栈选择:
方式1:原生Fetch API(无依赖)
// 发送POST请求到后端接口 fetch('/your-backend-route', { method: 'POST', headers: { 'Content-Type': 'application/json', // 如果是Laravel项目,必须携带CSRF令牌 'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').content }, // 传递后端需要的b_id参数 body: JSON.stringify({ b_id: '你的预订ID' }) }) // 解析JSON格式的响应 .then(response => response.json()) .then(data => { // 将JSON中的两个数组分别赋值给独立变量 const paymentAmounts = data.paymentss; const paymentDates = data.p_dates; // 现在就可以按需使用这些变量啦! console.log('所有付款金额:', paymentAmounts); console.log('所有付款日期:', paymentDates); // 示例:遍历配对金额和日期 paymentAmounts.forEach((amount, index) => { console.log(`日期:${paymentDates[index]},金额:${amount}`); }); }) // 捕获请求错误 .catch(error => console.error('请求出错啦:', error));
方式2:jQuery AJAX(适合已有jQuery的项目)
// 发送AJAX请求 $.ajax({ url: '/your-backend-route', method: 'POST', // 传递b_id参数 data: { b_id: '你的预订ID' }, headers: { // Laravel项目需要的CSRF令牌 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, success: function(data) { // 拆解JSON数据到独立变量 const paymentAmounts = data.paymentss; const paymentDates = data.p_dates; // 使用变量示例 console.log('付款金额列表:', paymentAmounts); console.log('付款日期列表:', paymentDates); }, error: function(xhr, status, error) { console.error('请求失败:', error); } });
一些注意事项
- 替换
/your-backend-route为你实际的后端接口路由(比如Laravel中定义的Route::post('/ajax/get', [YourController::class, 'get_Ajax'])对应的路径)。 - 如果是Laravel项目,务必确保页面中包含CSRF令牌的meta标签,否则请求会被拒绝:
<meta name="csrf-token" content="{{ csrf_token() }}">。 - 你可以根据自己的习惯重命名变量,比如把
paymentAmounts改成payments,让语义更清晰。
内容的提问来源于stack exchange,提问作者Shoaib Akhtar
相关产品推荐
相关产品推荐

