在更新数据库表中的记录时,我希望得到问候和尊重,但不幸的是,我没有做任何无法获取ID并注入AJAX和AJAX的操作,我希望控制器与从数据库和表读取的数量之间的关系。
我的财务主任:
public function index()
{
$category = Category::all();
return view('admin.category', compact('category'));
}
public function indexAjax(messageRequest $request){
$id=$request->id;
$category=Category::where('id',$id)->first();
$data=array('data'=>$category);
return $data;
}
public function create(messageRequest $request)
{
try {
Category::create($request->all());
return response()->json(array('sms'=>'save'));
}catch (Exception $e){
return response()->json(array('err'=>'error'));
}
}我的路线:
Route::group(['middleware' => 'web'], function () {
Route::auth();
Route::get('category',['uses'=>'categoryController@index']);
});
Route::group(['middleware' => 'web'], function () {
Route::auth();
Route::get('categoryAjax', ['as'=>'categoryAjax','uses'=>'categoryController@indexAjax']);
});剧本:
<script>
$('#submit').on('click', function (e) {
e.preventDefault();
var data = $('#create').serialize();
$.ajax({
type: 'post',
url: '{!! URL::route('category') !!}',
data: data,
success: function (data) {
alert(data.sms);
},
error: function () {
alert(data.err);
}
});
$.ajax({
type: 'GET',
url: '{!! URL::route('categoryAjax') !!}',
async: false,
dataType: 'json',
data: data,
success: function (data) {
alert(data.data);
}
});
});
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
</script>我将alert(data.data)更改为alert('hi),但未运行:(已更改:
$.ajax({
type: 'GET',
url: '{!! URL::route('categoryAjax') !!}',
async: false,
dataType: 'json',
data: data,
success: function (data) {
alert('hi');
}
});我的Ajax方法帖子:
$.ajax({
type: 'post',
url: '{!! URL::route('category') !!}',
data: data,
success: function (data) {
alert(data.sms);
},
error: function () {
alert(data.err);
}
});我的控制器POST方法:
public function create(messageRequest $request)
{
try {
Category::create($request->all());
return response()->json(array('sms'=>'save'));
}catch (Exception $e){
return response()->json(array('err'=>'error'));
}
}我的路线邮寄法:
Route::group(['middleware' => 'web'], function () {
Route::auth();
Route::post('category', ['as' => 'category', 'uses' => 'categoryController@create']);
});发布于 2016-03-06 10:14:42
通过此代码,我的问题是Solved.But从脚本中删除$.get并使用POST方法运行。
public function create(messageRequest $request)
{
try {
$category = Category::create($request->all())->id;
return response()->json(['id'=>$category]);
}catch (Exception $e){
return response()->json(array('err'=>'error'));
}
}通过此代码,在警报状态下返回记录ID。
发布于 2016-03-05 17:19:33
在Laravel5.2中,中间件有web、api和auth。如果您想使用ajax发送的数据,您将使用带有令牌的api中间件。您可以看到以下引用:
首先,向用户添加一个api_token:
首先,您需要向用户表中添加一个api_token列。如果您刚刚开始您的应用程序,您很可能可以通过修改Laravel附带的用户迁移来包含您的新专栏。
// add this to your users_table migration
$table->string('api_token', 60)->unique();主计长:
public function upload()
{
return view('uploads.upload', ['api_token' => Auth::user()->api_token]);
}查看:
<script>
$(function () {
'use strict';
var url = '/api/photos?api_token={{ $api_token }}';
// Initialize the jQuery File Upload widget:
$('#fileupload').fileupload({
// Uncomment the following to send cross-domain cookies:
// xhrFields: {withCredentials: true},
url: url
});
</script>路由:
Route::group(['middleware' => ['auth:api']], function () {
Route::post('api/photos', 'FileController@storeApi');
});https://stackoverflow.com/questions/35815288
复制相似问题