@extends('layouts.app')
@section('content')
{{--<p>{{$news}}</p>--}}
<p class="container">
<p class="col-lg-2"></p>
<p class="col-lg-8" id="test">
<p class="form">
<input type="text" name="title" id="title" class="form-control">
<textarea name="tcontent" id="tcontent" cols="30" rows="10" class="form-control"></textarea>
<button id="submit" class="btn-primary">提交</button>
</p>
<p id="test1"></p>
</p>
</p>
<script type="text/javascript">
$(document).ready(function (){
$('submit').click(function (){
var data = {
title: $('#title').val(),
tcontent: $('#tcontent').val()
};
$.ajax({
type: "post",
url: 'news/news',
data: data,
dataType: 'json',
headers: {
'X-CSRF-TOKEN': '{{csrf_token()}}'
},
success: function(data){
console.log(data);
var test1 = '<h1> add success</h1>';
console.log(test1);
$('#test').append(test1);
},
error: function (data){
console.log(data);
var test1 = '<h1>add faild</h1>';
console.log(test1);
$('#test').append(test1);
}
});
});
});
</script>
@endsection
public function store(Request $request)
{
$user = Auth::user();
$this->validate($request,[
'title'=>'required',
'tcontent'=>'required'
]);
$news = new News();
$news->title = $request->get('title');
$news->content = $request->get('tcontent');
$news->author = $user->name;
$news->save();
return $news;
}
Auth::routes();
Route::get('/','HomeController@index')->name('home.page');
Route::group(['prefix'=>'back'], function (){
Route::resource('/news/news','News\NewsController');
Route::group(['prefix'=>'commodity', 'namespace'=>'commodity'], function (){
Route::resource('/classify','ClassifyController');
Route::resource('/commodity','CommodityController');
});
});
代码如上,点击提交按钮没有任何反应,数据库中也没有插入记录,jQuery也已经在母页面header里引入了,页面代码、控制器、路由设置如上,我实在不知道哪里出问题了,请大神们解答
问题已解决
1.$('submit')少了个#号,没有取到,应该是$('#submit')
2.url应该是 /back/news/news
url写错了。
另外,打开console.log看一下报错就可以搞定了。
应该是js没有获取到点击或者提交的对象。遇到ajax的问题,一般要看控制台,network,分析是否有网络请求,以及请求和响应的信息。