Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   AS3 + json и php (http://www.flasher.ru/forum/showthread.php?t=211705)

alanq 20.10.2015 16:01

AS3 + json и php
 
Всем доброго. Перейду сразу к делу. Есть php
PHP код:

...
while (
$data mysql_fetch_array($query)) 
 {
    
$ulvl$data["lvl"];
    
$uscount$data["scount"];
    
$objJSON = array($ulvl => $uscount);
    
header('Content-Type: application/json');
    echo 
json_encode($objJSON);
    
 }
... 

и собственно код as3
Код AS3:

phpVars = new URLVariables;
phpFileRequest = new URLRequest("http://blabla.bla/bla.php");
 
phpFileRequest.method = URLRequestMethod.POST;
phpFileRequest.data = phpVars;
phpLoader = new URLLoader();
phpLoader.addEventListener(Event.COMPLETE, showDataCount);
phpVars.id = _uid;
phpLoader.load(phpFileRequest);
...
public function showDataCount(event:Event):void
{
trace(event.target.data);
var arrayRes:Object = JSON.parse(event.target.data);
}

все это дело естественно выдает ошибку
Код:

Error #1132: Invalid JSON parse input.
Сколько не шерстил инет не могу понят как исправить. Подскажите как сделать куда смотреть?

illuzor 20.10.2015 16:17

Что трейс показывает?

alanq 20.10.2015 17:13

{"1":"1"}{"2":"2"}{"3":"3"}
[Fault] exception, information=SyntaxError: Error #1132: Invalid JSON parse input.

alexandrratush 20.10.2015 17:36

alanq, у вас невалидный JSON.

Добавлено через 1 минуту
Если не ошибаюсь, то вот так будет правильно:
{"1":"1"},{"2":"2"},{"3":"3"}

alanq 20.10.2015 17:52

Т.е. ошибка в php
PHP код:

  $objJSON = array($ulvl => $uscount); 

Если да, то не пойму как тут поставить то ','

illuzor 20.10.2015 17:52

alexandrratush, почти.
Правильно будет так:
Код:

[{"1":"1"},{"2":"2"},{"3":"3"}]

alanq 20.10.2015 17:57

как это реализовать?

alexandrratush 20.10.2015 18:41

Может быть ошибка в том, что вы в первой итерации цикла while возвращаете значение в флешку?
Как то странно это выглядит.

alanq 20.10.2015 18:43

сделал вот так
PHP код:

while ($data mysql_fetch_array($query)) 
 {
    
$ulvl$data["lvl"];
    
$uscount$data["scount"];

    
$objJSON = array($ulvl => $uscount);
    
 }
echo 
json_encode($objJSON); 

возвращает только последний элемент ((

alexandrratush 20.10.2015 18:44

Сначала нужно перебрать все элементы из запроса, сложить в массив, потом закодировать и отправить.


Часовой пояс GMT +4, время: 09:34.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.