Вью и Вью ресурсов


Я пытаюсь отправить запрос post через vue-ресурс, и я не могу понять, что я делаю неправильно.

Я использую Laravel 5.1 для обработки запроса.

Следующий код jquery отлично работает в моем методе Vue.

 $.ajax({
        type: 'POST',
        url: '/purchase/save-cart-items',
        data: { 'purchaseItems' : purchaseItems},
        success: function (response) {
            if(response == "ok") {
                alert("Cart saved successfully.");   
            } else {
                alert('There was a problem saving this cart. Please try again.');
            }
        }
    });

Однако замена jQuery выше следующим запросом post vue-resource по какой-то причине не работает. Я уверен, что это что-то простое, но я не могу этого понять. Vue-ресурс правильно включен в проект, как я использую его для получения запросов без проблем.

this.$http.post('/purchase/save-cart-items', {purchaseItems:purchaseItems}, function (data, status, request) {
    alert("Cart saved successfully.");
}).error(function (data, status, request) {
    alert('There was a problem saving this cart. Please try again.');
});
4 8

4 ответа:

Вы можете пропустить маркер csrf:

Html

<meta id="token" name="token" content="{{ csrf_token() }}">

Js

Vue.http.headers.common['X-CSRF-TOKEN'] = document.querySelector('#token').getAttribute('content');

Автор Vue перестал обновлять и поддерживать Vue-ресурс. Он сам также предложил использовать axios, axios более прост в использовании и прост в обслуживании. Введение в Аксиос

Если вы только начали изучать Vue, вот демо начального уровня. Хотя это всего лишь небольшое приложение, но оно охватывает множество точек знаний (vue2. 0 + vue-cli + vue-router + vuex + axios + mysql + express + pm2 + webpack), включая front-end, back-end, базы данных и другие сайты некоторые из необходимых элементы, для меня познающие великое значение, хотели бы ободрить друг друга!

GitHub Demo

Код должен быть:

this.$http.post('/purchase/save-cart-items', {purchaseItems:purchaseItems})
    .success(function (data, status, request) {
        alert("Cart saved successfully.");
    })
    .error(function (data, status, request) {
        alert('There was a problem saving this cart. Please try again.');
    });

Код должен быть:

 this.$http.post('purchase/save-cart-items', {purchaseItems:purchaseItems})
        .success(function (data, status, request) {
            alert("Cart saved successfully.");
        })
        .error(function (data, status, request) {
            alert('There was a problem saving this cart. Please try again.');
        });

Или попробуйте использовать пакеты tymon/jwt-auth