dimanche 3 décembre 2017

Laravel - Ajax - jquery : collecting input data from admin panel

appreciate your help.

i'm trying to update my Database updated with json in a specific column in the database, and update it in case of edit.

Retrieving part is working well in the edit, but i cannot send anything to database, whether update or create.

 <script type="text/javascript">
      var $tag_obj = $('#form-field-tags').data('tag');
      var $Jsn = JSON.stringify($tag_obj['values']);
      var $pathname = window.location.pathname;
      var obj = jQuery.parseJSON('{"Categories":'+ $tag_obj['values']+'}');
      $.ajax({
      url: pathname,
      type: 'post',
      dataType: 'json',
      data: Jsn,
      success: function (data) {
      console.log(data);
      },
      error: function (data) {
      console.log('Error:', data);
      }
      });
 </script>


Controller

 public function postCreate(Request $request)
      {
      $post = new blog([
      'title'=>$request->input('title'),
      'Smaller'=>$request->input('Smaller'),
      'Categories'=>$request->input('Categories'),
      'BodyS'=>$request->input('BodyS'),
      'Status'=>$request->input('Status')
      ]);
 $post->save();
      return redirect()->route('admin.blog')->with('info', 'Post created, Title is: ' . $request->input('title'));
      }

 public function postUpdate(Request $request)
      {
      $post = blog::find($request->input('Bid'));
      $post->title = $request->input('title');
      $post->Smaller = $request->input('Smaller');
      $Cat = json_decode($post->Categories);
      $Cat = $request->input('Categories');
      $post->BodyS = $request->input('BodyS');
      $post->Status = $request->input('Status');
 $post->save();        
      return redirect()->route('admin.blog')->with('info', 'Post edited, new Title is: ' . $request->input('title'));

}


Blade Blog.edit/update view

 <div class="form-group">
      <label class="col-sm-3 control-label no-padding-right" for="form-field-tags">Categories</label>

      <div class="container-fluid">
      <div class="inline">
      <input type="text" name="Categories" id="form-field-tags" value="" placeholder="Enter tags ..." name="Categories" />
      </div>
 </div>
 </div>


Blade Create view

 <div class="container-fluid">
 <div class="inline">
 <label>
 <input type="text" name="Categories" id="form-field-tags"value="" placeholder="Enter tags ..." name="Categories" />

 </label>

 </div>
 </div>

Routes

 Route::group(['prefix'=> 'blog'], function(){

      Route::get('/', [
      'uses'=>'BlogController@getBlogIndex',
      'as'=>'admin.blog'
      ]);
      Route::get('/create',[
      'uses'=>'BlogController@getPostCreate',
      'as'=>'admin.createB' 
      ]);
      Route::get('/edit/{Bid}',[
      'uses'=>'BlogController@getPostEdit',
      'as'=>'admin.editB' 
      ]);
      Route::post('/create', [
      'uses'=>'BlogController@postCreate',
      'as'=>'admin.createB'
      ]);
      Route::post('/edit', [
      'uses'=>'BlogController@postUpdate',
      'as'=>'admin.updateB'
      ]);
 });

Thanks



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire