2010-06-04 122 views
2

我试图发送array的数据from Flash to PHP来发送电子邮件。我想这样做,因为每当我的表单网站因客户选择而更改时,我必须更改php页面。从Flash发送JSON到PHP

我的答案是,我可以发送像这样的对象数组到PHP?

var message:Array = new Array(); 
message.push ({field_name:"Name", value:"John Lennon"}); 
message.push ({field_name:"e-mail", value:"[email protected]"}); 
message.push ({field_name:"Message", value:"Hello goodbye"}); 

所以,PHP应recive像一个字符串:

[ 
    { 
     "field_name":"Name", 
     "value":"John Lennon" 
    },{ 
     "field_name":"e-mail", 
     "value":"[email protected]" 
    },{ 
     "field_name":"Message", 
     "value":"Hello goodbye" 
    } 
] 

确实存在一些tecnique?

回答

9

这应该为你做的工作..

import com.adobe.serialization.json.JSON; 

import flash.events.Event; 
import flash.net.URLLoader; 
import flash.net.URLRequest; 
import flash.net.URLRequestMethod; 
import flash.net.URLVariables; 

var message:Array = new Array(); 
    message.push ({field_name:"Name", value:"John Lennon"}); 
    message.push ({field_name:"e-mail", value:"[email protected]"}); 
    message.push ({field_name:"Message", value:"Hello goodbye"}); 

var vars: URLVariables = new URLVariables(); 
    vars.data = JSON.encode(messages); 

var req: URLRequest = new URLRequest(); 
    req.method  = URLRequestMethod.POST; 
    req.data  = vars; 
    req.url   = "yourdomain.com" 

    ldr.addEventListener(Event.COMPLETE, handleServerResponse); 
    ldr.load(req); 

所有你需要做的就是使用#json_decode方法在PHP .. 问候..

+0

非常感谢你! – vitto 2010-06-06 13:22:10

+0

不客气.. :) – 2010-06-06 19:27:42