Задать вопрос
@akula22

Странная не постоянная ошибка в JQuery is not defined?

Делаю такой Ajax запрос
$.post(
        "/calc/universal/get-color", {
            id: 1
        },
        function (chromaticity) {
            $chromaticity = jQuery.parseJSON(chromaticity);
            ..........
            $side1 = $chromaticity.color4;
        });

В пхп контроллере
public function actionGetColor()
    {
        $id = \Yii::$app->request->post('id');
        if (isset($id)) {
            $data = Color::find()->where(['id' => $id])->one();
        } else {
            $data = 'no ajax';
        }
        file_put_contents('data.txt', print_r($data, 1));
        return Json::encode($data);
    }


Код отлично срабатывает, но почему-то не всегда, иногда я вижу в консоли хрома(F12) такую ошибку
Uncaught ReferenceError: $chromaticity is not defined
    at Object.success (universal-calc.js:104)
    at fire (jquery.js:3317)
    at Object.fireWith [as resolveWith] (jquery.js:3447)
    at done (jquery.js:9272)
    at XMLHttpRequest.<anonymous> (jquery.js:9514)

universal-calc.js:104 это строка $side1 = $chromaticity.color4;

на стороне пхп и мускула проблем нет, в дебагном файл 'data.txt', массив лежит как надо, а вот в JS чет нето, подскажите где касячу?
  • Вопрос задан
  • 278 просмотров
Подписаться 1 Простой Комментировать
Ответ пользователя Дмитрий К ответам на вопрос (4)
thewind
@thewind
php программист, front / backend developer
Может на некоторых страницах аякс запрос идет раньше, чем загрузится jquery? Попробуйте парсить json через нативных джаваскрипт JSON.parse()
Ответ написан
Комментировать