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 ?
Comme le montre l'image, pouvez-vous définir les
emulateJSON
proprié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 :
Comparez à nouveau l'en-tête :