【发布时间】:2018-09-01 09:56:30
【问题描述】:
我在通过 ajax 请求从刀片文件传递到 Laravel 控制器时遇到了一些问题。据我所知,我已经正确设置了路线。
路线
Route::post('/aquarium/{id}/parameters', 'AquariumController@paramUpdate')->name('paramUpdate');
Laravel 函数
use App\Aquarium;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
public function paramUpdate($id)
{
$params = $_POST['parameters'];
$aquarium = Aquarium::find($id);
$aquarium->parameters = $params;
$aquarium->save();
return "test";
//return redirect('/aquarium/'.$id);
}
Ajax 请求
var jsonParams = JSON.stringify(params);
$.ajax({
type: "POST",
url: "{{ route('paramUpdate', $aquarium->id) }}",
data: { parameters: jsonParams },
success: function(response) {
console.log(response);
},
error: function() {
console.log("Ajax error");
}
});
目标是将jsonParams变量传递给控制器,然后将其保存到数据库中的参数字段中。数据库已配置并存在记录。
【问题讨论】:
-
参数更新需要 $id。尝试在参数中使用 $request,或者如果它不起作用,请尝试 Input::all()。根据需要使用 dd 查看您在函数中获得的内容,并在检查元素中检查网络选项卡中 dd() 的结果是什么
标签: php ajax laravel laravel-5.6