搜尋

首頁  >  問答  >  主體

javascript - laravel用ajax沒有反應

@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裡引入了,頁面代碼、控制器、路由設定如上,我實在不知道哪裡出問題了,請大神們解答

高洛峰高洛峰2751 天前618

全部回覆(3)我來回復

  • 天蓬老师

    天蓬老师2017-05-24 11:34:29

    問題解決
    1.$('submit')少了個#號,沒有取到,應該是$('#submit')
    2.url應該是 /back/news/news

    回覆
    0
  • PHPz

    PHPz2017-05-24 11:34:29

    url寫錯了。
    另外,打開console.log看一下報錯就可以搞定了。

    回覆
    0
  • 漂亮男人

    漂亮男人2017-05-24 11:34:29

    應該是js沒有取得到點擊或提交的物件。遇到ajax的問題,一般要看控制台,net​​work,分析是否有網路請求,以及請求和回應的資訊。

    回覆
    0
  • 取消回覆