如何通过POST as2发送多个变量

时间:2013-02-26 15:49:58

标签: flash post combobox actionscript-2

我希望现在还有老派Flash开发人员嘿嘿

所以我有一个简单的Flash电影,有2个下拉列表,第一个用于学校课程,第二个用于州。

我想将程序和状态连接到以下网址: http://operationmilitaryed.com/search.php?state=AL&interest=Bachelor%27s

我的问题是我得到了这样的网址:

http://operationmilitaryed.com/search.php?changeListener=%5Bobject+Object%5D&the_path=http%3A%2F%2Foperationmilitaryed%2Ecom%2Fsearch%2Ephp&program=Criminal+Justice&us_state=&onLoad=%5Btype+Function%5D

网址上添加了太多额外信息。

以下是我的Flash文件的路径(我会链接到测试页面,但由于某些原因,下拉列表在我的浏览器中无效,可能是不同的bug) http://leongaban.com/_stack/flash/as2/combobox/source.zip


以下是我目前的Flash AS2代码:

import com.mosesSupposes.fuse.*;
ZigoEngine.simpleSetup(Shortcuts,PennerEasing);

Stage.scaleMode = "noScale";
Stage.align = "TL";

var changeListener:Object = new Object;
var changeListener2:Object = new Object; 

var program:String = "";
var us_state:String = "";

attachMovie("comboBox", "combo1", 1);
combo1._x = 6;
combo1._y = 6;

attachMovie("comboBox", "combo3", 3);
combo3._x = 150;
combo3._y = 6;

onLoad = function()
{
combo1.initComboBox("xml/combo2.xml");
combo1.addEventListener("changed",changeListener);

combo3.initComboBox("xml/combo3.xml");
combo3.addEventListener("changed",changeListener2);

changeListener.changed = function(evtObj) 
{
    dataText1.text = evtObj.data;
    program = evtObj.data;
    trace("evtObj.data = "+evtObj.data);
}

changeListener2.changed = function(evtObj) 
{
    dataText2.text = evtObj.data;
    us_state = evtObj.data;
    trace("evtObj.data = "+evtObj.data);
}
}

btn_submit.onRelease = function() {
    var A = program;
    var B = us_state;
    getURL("http://operationmilitaryed.com/search.php", "_blank", "POST");
}

2 个答案:

答案 0 :(得分:0)

我可能错了,但似乎你为顶级路径,程序,状态和更改侦听器定义的四个变量是否会导致大部分额外的帖子信息?似乎你使用这些变量的方式可以在它们被使用的函数中定义,我认为这将消除问题。 让我知道

答案 1 :(得分:0)

如果您需要将数据发送到脚本:

myVars = new LoadVars();
myVars.interest = program;
myVars.state = us_state;
myVars.send("http://operationmilitaryed.com/search.php", "POST");

你也可以使用.send,.load,.sendAndLoad

参考:http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00001161.html

如果你只想在最后用php打开URL,请使用concatenate:

myUrl = "http://operationmilitaryed.com/search.php?interest=" + program + "&state=" + us_state;
getURL(myUrl, "_blank");

你也可以做出那件疯狂的事情:

this.createEmptyMovieClip("dataMC", this.getNextHighestDepth());
dataMC.interest = program;
dataMC.state = us_state;
dataMC.getURL("http://operationmilitaryed.com/search.php", "_blank", "POST");