2010-12-01 2 views
0

У меня есть этот код, который я использую для передачи данных в кодированном формате JSON в php. Есть ли способ, который я могу проверить на php-end, если он был получен и проигнорирован в правильном формате?JSON encoding in as3

var people:Array = new Array(); 
    var person:Object = new Object(); 
    var url:String = "http://localhost/ping.php"; 
    var request:URLRequest = new URLRequest(url); 
    var requestVars:URLVariables = new URLVariables(); 
    var loader:URLLoader = new URLLoader(); 
    person.fullname = "jon jay junior"; 
    person.username = "jjj"; 
    person.role = "ADMIN"; 
    people.push(person); 
    request.method = URLRequestMethod.POST; 
    requestVars.myObject = JSON.encode(people); 
    request.data = requestVars; 
    loader.load(request); 
+1

возможный дубликат [не может декодировать JSON] (http://stackoverflow.com/questions/4327323/unable -to-decode-json) – PatrickS

ответ

2

Как уже упоминалось, вы должны посмотреть запрос с помощью Firebug, LiveHTTPHeaders или аналогичного инструмента (для Firefox есть несколько). Это позволит вам увидеть формат данных.

Если $_REQUEST['myObject'] действительно null в PHP, то что-то не так. Вы действительно должны подключить loader.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);, чтобы проверить наличие проблем и/или запустить с помощью отладочного Flash-плеера, чтобы вы могли видеть какие-либо исключения.

Если вы работаете в этом в браузере, отладочный Хитрость заключается в том, чтобы назвать Firebug, console.log через ExternalInterface.call()

0

проверить, если $_POST['data'] или $_REQUEST['data'] установлен и не пуст.

+0

он возвращает null..i сделал что-то не так на конце вспышки? – hitek

1

Вы можете записать ответ в файл (print_r($_POST)), в базу данных или что-то в этом роде, но самый простой способ, если вы отлаживаете код, - использовать firebug, httpfox (оба для firefox) или какой-либо другой инструмент, который позволяет вы видите HTTP-запросы и ответы. Затем вы можете точно увидеть, что вы отправляете на php-скрипт.