Получить неопределенные данные или двойные кавычки в Ajax Success

Я отправил данные в PHP-скрипт через Ajax и хочу вернуть несколько данных в JSON-кодировке. К сожалению, когда я хочу получить доступ к первым и вторым данным, я получаю только двойные кавычки ("). Я пробовал несколько примеров из StackOverflow, но безуспешно, и я не знаю почему. В следующей части я начинаю с dataType , а затем успех.

dateType: "json",
   success:function(data)
   {
        alert(data.first);
        if (data.last)
           {
              $('#urlfull').val(data.last);

           }else{
              // Fade in
              alert(data.last);
           }
   }

Далее идет PHP-скрипт, в котором я пробовал отмеченное решение от StackOverflow.

$output =  array('first'=>'Steven',
                 'last'=>'Spielberg',
                 'address'=>'1234 Unlisted Drive');
echo json_encode($output,JSON_FORCE_OBJECT);

Однако возврат из alert (data.first) не определен, а в других случаях это была двойная кавычка (до того, как я внес изменения). Но я не знаю почему. Я хочу понять и решить. Но я не могу найти проблему, так как кажется, что эта проблема ни у кого, кроме меня.

Заранее спасибо за вашу помощь.

Если вы действительно хотите узнать, что происходит, не используйте alert(); используйте console.info() и вместо этого посмотрите на консоль разработчика. Вы хотите видеть фактические данные, а не их версию с принуждением к строке. Никогда не используйте предупреждения, если вы действительно пытаетесь выяснить, что происходит в вашем коде. С учетом сказанного, console.info, что data вместо data.first: узнайте, что на самом деле в нем, прежде чем пытаться получить доступ к свойству .first.

Mike 'Pomax' Kamermans 01.05.2018 22:03

Думаю, это опечатка: dateType - это не dataType.

Syscall 01.05.2018 22:05

С учетом вышесказанного, что вы имеете в виду, когда «получаете только двойные кавычки»? Строки JSON должен заключаются в двойные кавычки, согласно спецификации, так где вы пытаетесь получить одинарные кавычки? И, сказав это, цитирование внутри объекта JSON не должно иметь значения (тем более, что на стороне PHP вы должны использовать json_decode(string) для получения реального объекта, а на стороне JS вы должны использовать JSON.parse(string) для получения реального объекта, поэтому цитируйте символы не должно иметь значения)

Mike 'Pomax' Kamermans 01.05.2018 22:06

@Syscall, вы решили проблему. Это была опечатка! Спасибо чувак.

nucky 01.05.2018 22:06
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
69
0

Другие вопросы по теме