laravel aucune réponse avec ajax
高洛峰
高洛峰 2017-05-24 11:32:29
0
3
611
@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');
    });
});

Le code est comme ci-dessus, rien ne se passe lorsque vous cliquez sur le bouton Soumettre et aucun enregistrement n'est inséré dans la base de données. jQuery a également été introduit dans l'en-tête de la page parent. Le code de la page, le contrôleur et les paramètres de routage sont comme ci-dessus. Je ne sais vraiment pas ce qui n'a pas fonctionné. S'il vous plaît, aidez-les

.
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(3)
Peter_Zhu

Le problème a été résolu
1.$('submit') manque un numéro # et ne peut pas être récupéré. Il devrait être $('#submit')
2.url devrait être /back/news/news

.
PHPzhong

L'url est mal écrite.
De plus, ouvrez le console.log et vérifiez le rapport d'erreur et vous pourrez le résoudre.

漂亮男人

Il se peut que js n'ait pas obtenu l'objet cliqué ou soumis. Lorsque vous rencontrez des problèmes ajax, vous devez généralement vérifier la console et le réseau pour analyser s'il existe des requêtes réseau, ainsi que les informations de requête et de réponse.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal