2010-06-04 118 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