jquery - 如何使用 AJAX 访问 laravel 雄辩的关系数据?
问题描述
我可以从 Laravel Blade 轻松访问我的关系数据。但是,每当我尝试从 AJAX 访问它们时,它都会显示未定义或错误。我已经尝试了所有方法,但无法解决。请帮忙。
我的控制器代码:
public function store(Request $request){
$task_name = $request->task_name;
$empId = $request->empName;
$catId = $request->catName;
$desName = $request->desName;
$start = $request->start_date;
$end = $request->end_date;
$inputs = array();
$task_start_date = Carbon::parse($start)->format('Y-m-d');
$task_end_date = Carbon::parse($end)->format('Y-m-d');
$inputs['name']= $task_name;
$inputs['user_id']= $empId;
$inputs['cat_id']= $catId;
$inputs['des']= $desName;
$inputs['start_date']= $task_start_date;
$inputs['end_date']= $task_end_date;
$tasks = Task::create($inputs);
$table = "";
$items = Task::all();
foreach ($items as $item){
$table .=" <tr>";
$table .=" <td>";
$table .=$item->taskCategory->name;
$table .=" </td>";
$table .=" </tr>";
$table .="";
}
$temps = Task::with('taskCategory')->get();
return response()->json([
$tasks,
'table'=>$table,
'temps'=>$temps
]);
}
我雄辩的模型代码:
public function taskCategory(){
return $this->belongsTo(TaskCategory::class,'cat_id','id');
}
我在 laravel Blade 中的 ajax 代码:
$(document).on('submit','#add_company_form', function(event){
event.preventDefault();
$.ajax({
url:config.routes.task_post,
method:"POST",
data:new FormData(this),
dataType:'JSON',
contentType: false,
cache: false,
processData: false,
success:function(data)
{
if(data.id!=""){
// toastr.success('We do have the Kapua suite available.', 'Turtle Bay Resort', {timeOut: 5000})
//console.log(data);
toastr.options = {
"debug": false,
"positionClass": "toast-bottom-right",
"onclick": null,
"fadeIn": 300,
"fadeOut": 2000,
"timeOut": 2000,
"extendedTimeOut": 2000
};
var rowCount = $('#order-listing >tbody >tr').length+1;
$.each(data.temps, function (key, val) {
// console.log(val.taskCategory.name);
$('#companyappend').append(`<tr class="unqcompany` + val.id + `">
<td>` + rowCount + `</td>
<td>` + val.taskCategory.name+ ` </td>
<td>
<button class="btn btn-outline-primary companyshow commonbtn" data-id="` + val.id + `" data-toggle="modal" data-target="#view_company_modal"><i class="ti-arrow-circle-right"></i></button>
<button type="button" class="btn btn-outline-success editcompany commonbtn" data-companyname="` + val.name + `" data-id="` + val.id + `" data-toggle="modal" data-target="#exampleModal"><i class="icon-pencil"></i></button>
<button type="button" class="btn btn-outline-danger btn-icon-text deletecompany commonbtn" data-id="` + val.id + `">
<i class="icon-trash"></i>
</button>
</td>
</tr>`);
});
toastr.success('Task was Created successfully');
$('#add_company_form').trigger('reset');
// console.log(data.table);
// $('#companyappend').html(data.table);
}else{
alert("Failed to store");
}
}
})
});
这就是说我可以轻松地从刀片访问我的关系数据。但在 AJAX 中它会引发错误或未定义。请帮我。
解决方案
推荐阅读
- python - 加载保存的 CTC Loss CNN+RNN 模型的权重预测加载后交换的类
- c# - 从外部 DLL 获取程序集 DeclaredProperties
- json - 选择/提取 JSON 元素时的高效 BigQuery
- python-3.x - Woocommerce api 不是创建产品而是返回当前产品
- c++ - Visual Studio Code 中的 C++ 链接错误
- php - 如何通过自己的自定义键对带有帖子的 Wordpress 数组进行排序
- racket - 如果值相等,如何对列表进行二次排序?
- android - Android Studio Canary 2020.3.1:应用更改并重启 Activity(禁用:调试执行)
- node.js - 使用 Node.js 在 GCP 数据存储中更新和保存有什么区别?
- flask - Google Cloud Run 中 Flask 应用程序的 Celery 任务