Ошибка типа: не удается прочитать свойство ‘replace’ неопределенного vue-resource.js:284

#php #jquery #vue.js

#php #jquery #vue.js

Вопрос:

Может кто-нибудь, пожалуйста, помочь мне с этой ошибкой?

Я использую jQuery вместе с vue.js . Ниже приведен метод, с которым у меня возникли проблемы… Он вызывается запросом post. new_user содержит значения, полученные из полей формы html…

Значения принимаются хорошо, когда я пишу это в консоли.

Проблема возникает, когда я пытаюсь использовать метод ajax для хранения данных (this.$http.post()). Я получаю следующую ошибку:

Ошибка типа: не удается прочитать свойство ‘replace’ неопределенного vue-resource.js:284

Я просмотрел пару ссылок. но я не мог воспользоваться помощью ни от кого… Возможно, я допустил несколько глупых ошибок, потому что я использовал приведенный выше код из отлично работающего скрипта. Так что, если кто-нибудь сможет обнаружить ошибку, я был бы благодарен. Спасибо … 🙂

Счастливого кодирования.

     addUser : function(new_user){
        // var instance = this;
        console.log(this)
        var new_user_input = this.new_user
        console.log(new_user_input.name)//this works fine..

         //problem comes right here
         this.$http.post("clients/" , new_user_input).then((response) => {
            alert("ok")
        },(response) => {
            alert("failed")
            this.form_errors = response.data
            // console.log("here should be the form errrors "   response.data.title)
        });
    }
  

Комментарии:

1. Код выглядит нормально, я бы посмотрел причину вашей ошибки в данных this.new_user . Что оно содержит?

2. спасибо за исправление и быстрый ответ. как вы думаете, использование jQuery вызывает это, поскольку я использую $. new_user является объектом и содержит данные следующим образом: new_user: Адрес объекта: «катманду» контакт: «телефон» dob: «1992» образование: «бакалавры» электронная почта: «duwaljyoti16@gmail.com » пол: «мужской» имя: «джон доу» национальность: «непалец» телефон: «45678»

3. да, это имеет смысл .. я действительно не понимаю, где я тогда напортачил.. я использую vue v1.0.24 и vue resource v1.0.3

4. Вы уверены, что хотите this.new_user вместо just new_user (что вы передаете методу).

5. Также попробуйте: this.$http({«клиенты /», метод: ‘POST’, данные: this.new_user})

Ответ №1:

Если вы используете Laravel, убедитесь, что у вас есть шаблон:

Хорошо:

 <script>
        window.Laravel = <?php echo json_encode([
            'csrfToken' => csrf_token(),
        ]); ?>
</script>

//OR

<script>
    window.Laravel = {!! json_encode([
        'csrfToken' => csrf_token(),
    ]) !!}
</script>
  

ПЛОХО:

 <script>
        window.Laravel = '<?php echo json_encode([
            'csrfToken' => csrf_token(),
        ]); ?>'
</script>

//OR

<script>
    window.Laravel = {{ json_encode([
        'csrfToken' => csrf_token(),
    ]) }}
</script>