Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Значения возвращённые методом AJAX не отображаются в input (https://javascript.ru/forum/jquery/83578-znacheniya-vozvrashhjonnye-metodom-ajax-ne-otobrazhayutsya-v-input.html)

Tigerapp 15.01.2022 23:19

Значения возвращённые методом AJAX не отображаются в input
 
Вложений: 1
Всем привет. Пишу веб-приложение с обработкой решений на беккенде, использую фреймворк, vue.js и JQery для Ajax-запроса.

Проблема заключается в том, что значение полученное методом AJAX не отображается в теге Input, но отображается в панели разработчика.

Во вложении zip-файл с кодом.

Буду рад любому совету.

Код JS:
var vue = new Vue({
    el: '#app',
    data: {
      result: '',
      numseven: [7],
      numeight: [8],
	  numnine: [9],
	  opplus: ['+'],
	  numfour: [4],
	  numfive: [5],
	  numsiks: [6],
	  opminus: ['-'],
	  numone: [1],
	  numtwo: [2],
	  numthree: [3],
	  opshare: ['/'],
	  numzero: [0],
	  dot: ['.'],
	  opmulti: ['*'],
    },
    methods: {
      input: function(char) {
        this.result = this.result.toString();
        this.result+=char;
      },
      
      calc: function() {
        
      }
    }
  })



$("#send").on("click", function() {
	
	var name = $("#name").val(); //trim();
	
	$.ajax({
	  url: 'beccend.php',
	  type: 'POST',
	  cache: false,
	  data: { 'name': name },
	  dataType: 'html',
	 
	  success: function(data) {  //Функция, которая возвращает рассчитанное значение с бекенда в html
     
		
	 $('.wr').html(data);
		
		
	  }


	  
	});

	
});



<?php
   $name = $_POST['name'];
   
   if (isset($_POST['name']) && preg_match('#^[a-z\d\s*/+.()_-]+$#si', $_POST['name'])) { 
    echo $_POST['name'] . ' = ' . eval('return ' . $_POST['name'] . ';'); 
} else echo "";


:)

рони 15.01.2022 23:47

Tigerapp,
мысли вслух, тут похоже ежа с ужом предлагают, тогда строка 1 должна быть в строке 50.

ksa 16.01.2022 10:51

Цитата:

Сообщение от Tigerapp
Проблема заключается в том, что значение полученное методом AJAX не отображается в теге Input, но отображается в панели разработчика.

Нужно работать по правилам vue (как и в реакт)...
Если у тебя управляемый компонент (инпут) все работы с его значением должны вестись от стейта.
Меняешь стейт - меняется хтмл.

Tigerapp 16.01.2022 23:50

Спасибо, буду пробовать через axios

ksa 17.01.2022 11:45

Цитата:

Сообщение от Tigerapp
буду пробовать через axios

Не важно чем ты делаешь запросы...
Главное при получении результата правильно работать со стейтом.


Часовой пояс GMT +3, время: 05:47.