vue.js - vue-resource envoie une requête ajax et le formData reçu par Laravel en arrière-plan est vide.
淡淡烟草味
淡淡烟草味 2017-05-16 16:51:02
0
2
704

vuejs utilise vue-resource pour envoyer le code de requête ajax :

methods: {
                fillIn: function (index, n) {
                    var formData = new FormData();
                    var itemId=this.items[index].id;
                    this.items[index].publishing_days = n;
                    formData.append('publishing_days', n);

                    this.$http.patch('/article/'+itemId, formData,{
                        before(request) {
                            if (this.previousRequest) {
                                this.previousRequest.abort();
                            }
                            this.previousRequest = request;
                        }
                    }).then((response) => {

                    }, (response) => {

                    });
                }
            }

Voici une capture d'écran des données envoyées par la requête ajax :

ArticleController


    public function update(Request $request, $id)
    {
        $article = Article::findOrFail($id);
        dd($article);
        dd($request->publishing_days); 
    }

Question : Le résultat de
dd($request->publishing_days); est nul, que se passe-t-il ?

淡淡烟草味
淡淡烟草味

répondre à tous(2)
刘奇

Comme le montre l'image, pouvez-vous définir les emulateJSONpropriétés ?

vue-ressource

左手右手慢动作

Cela est dû au problème d'en-tête. Le serveur Web ne peut pas gérer les requêtes de style REST telles que put, patch et delete. Après avoir activé cette option, la requête sera envoyée dans la méthode de publication ordinaire ;


Dans le document vue-resource, il y a cette phrase :

Send PUT, PATCH and DELETE requests with a HTTP POST and set the X-HTTP-Method-Override header
Tout ce que nous devons faire est d'ajouter cet attribut au code et de définir la valeur sur true :

this.$http.patch('/demo', formData, {emulateHTTP: true});

Comparez à nouveau l'en-tête :

加上属性后:
X-CSRF-TOKEN:ngenvCDnCOXWkQqbLjIdSo7Ekq7wjfLg0TqUMNcu
X-HTTP-Method-Override:PATCH
X-Requested-With:XMLHttpRequest


加上属性前:
X-CSRF-TOKEN:ngenvCDnCOXWkQqbLjIdSo7Ekq7wjfLg0TqUMNcu
X-Requested-With:XMLHttpRequest
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal