Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 06.08.2019, 17:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от vlasenkov
Это я делаю, чтобы строки в числа перевести
Это глупости, для этого есть приведение типов:
$item = (int)preg_replace('/.+=([0-9,\.]+)/', '$1', $item);

Кроме этого можно указать при кодировании кодировать строки содержащие только числа как числа:
$a = ['1', '2', '3'];
echo json_encode($a); //["1","2","3"]
echo json_encode($a, JSON_NUMERIC_CHECK); //[1,2,3]
Ответить с цитированием
  #12 (permalink)  
Старый 06.08.2019, 17:56
Новичок на форуме
Отправить личное сообщение для vlasenkov Посмотреть профиль Найти все сообщения от vlasenkov
 
Регистрация: 16.09.2013
Сообщений: 8

Спасибо, но в любом случае, либо массив пустой, либо ошибка. Даже не знаю уже куда копать и что не так.
Ответить с цитированием
  #13 (permalink)  
Старый 06.08.2019, 18:23
Новичок на форуме
Отправить личное сообщение для vlasenkov Посмотреть профиль Найти все сообщения от vlasenkov
 
Регистрация: 16.09.2013
Сообщений: 8

Я нашел ошибку. Видимо сказывается не знание о видимости переменных.
Ибо сейчас код такой:
jQuery.ajax({
    url: 'assets/template/js/calc/getcoefu.php',
    type: 'GET',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: 'file='+fileU,
    success: function(data){
         console.log(data);
    }
});


И все выводится и работает классно.

До этого все было так:
var U = new Array();
jQuery.ajax({
    url: 'assets/template/js/calc/getcoefu.php',
    type: 'GET',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: 'file='+fileU,
    success: function(data){
         U = data;
    }
});

console.log(U);


И выводился пустой массив. Что я не так с переменными и их объявлением тогда делаю не так?

P.S.
Всем спасибо кто участвовал в обсуждении.
Ответить с цитированием
  #14 (permalink)  
Старый 06.08.2019, 18:46
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Во втором случае ajax и console.log, это асинхронные события, вывод в консоль не будет ожидать когда завершится ajax запрос, а значит выводить будет пустой массив. В первом случае же, получили и вывод в консоль по ответу сервера.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с запуском php функции через ajax Glebiys AJAX и COMET 3 20.08.2018 13:21
Получение и вывод псевдоэлементов через js madeas Элементы интерфейса 2 23.07.2018 17:49
data Ajax из переменной js в переменную php stormgota jQuery 13 25.06.2018 15:50
Несколько запросов к php через AJAX Florens AJAX и COMET 9 25.07.2014 21:21
Как передать значение из php в html через js Mateus jQuery 5 26.12.2012 22:24