Arrays ActionScript(AS3)对象/JSON文本输入
我对ActionScript AS3/JSON有问题。对于这个问题,可能有一个非常简单的答案,所以如果这看起来像一个非常愚蠢的问题,我很抱歉 我试图做的是获取多个文本字符串,将它们放入一个对象中,然后将该对象作为JSON字符串发送到服务器 我的代码中的所有其他内容都可以正常工作,只要我在文本输入框中输入一段文本并发送对象,数组就会生成空条目,如下所示:Arrays ActionScript(AS3)对象/JSON文本输入,arrays,json,actionscript-3,jsonobject,Arrays,Json,Actionscript 3,Jsonobject,我对ActionScript AS3/JSON有问题。对于这个问题,可能有一个非常简单的答案,所以如果这看起来像一个非常愚蠢的问题,我很抱歉 我试图做的是获取多个文本字符串,将它们放入一个对象中,然后将该对象作为JSON字符串发送到服务器 我的代码中的所有其他内容都可以正常工作,只要我在文本输入框中输入一段文本并发送对象,数组就会生成空条目,如下所示: {"email":null,"last_Name":null,"first_Name":null,"date_of_birth":null,"t
{"email":null,"last_Name":null,"first_Name":null,"date_of_birth":null,"telephone":null}
但是,如果我将customer.first\u name=inPutfname替换为:customer.first\u name=John
然后数组回溯如下,这就是我想要的:
{"email":null,"last_Name":null,"first_Name":John,"date_of_birth":null,"telephone":null}
那么,我如何获取多个输入文本字符串并将它们放入对象中,以便数组像上面的示例中那样读取,或者理想情况下像下面的示例:
{"email":randomemail@email.com"last_Name":smith,"first_Name":john,"date_of_birth":27/07/1989,"telephone":012343456788}
以下是我目前掌握的代码:
var inPutFirstname: String;
var inPutLastname: String;
var inPutEmail: String;
var inPutTelephone: String;
var inPutDob: String;
// changes customer data into an object
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
var customer:Object = new Object;
customer.first_Name =inPutFirstname;
customer.last_Name = inPutLastname; PROBLEM AREA?
customer.email = inPutEmail;
customer.date_of_birth = inPutDob;
customer.telephone = inPutTelephone;
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//changes customer object into json string
var myJson: String = JSON.stringify(customer);
var myVariableUrl: URLVariables = new URLVariables();
myVariableUrl.data = JSON.stringify(myVariableUrl);
var myRequestUrl: URLRequest = new URLRequest();
var authHeaderUrl: URLRequestHeader = new URLRequestHeader("xxxxxx", "xxxxxxx");
myRequestUrl.method = URLRequestMethod.POST;
myRequestUrl.data = myJson;
myRequestUrl.url = "website url"
var uload: URLLoader = new URLLoader();
uload.load(myRequestUrl);
uload.load(myRequestUrl);
mySendbutton.addEventListener(MouseEvent.MOUSE_DOWN, thefunction1);
// captures text from the input and places them into the customer object
function captureText1(): void {
inPutFirstname = myFirstName.text;
inPutLastname = myLastName.text;
inPutEmail = myEmail.text;
inPutDob = myDob1.text + myDob2.text + myDob3.text;
inPutTelephone = myTele.text;
}
function thefunction1(event: MouseEvent): void {
captureText1();
trace(inPutfname);
trace(myJson);
}
任何帮助都将是惊人的
谢谢各位,您的问题是,用于创建JSON对象的代码似乎没有包含在函数中,这意味着它将立即执行,因为这可能是附加到框架上的代码 您需要做的是将与创建JSON对象相关的代码包装到函数中,如下所示: 请注意,有很多方法可以更好地构造此代码,但是这应该说明一些核心概念
首先,您能否为以下各项添加函数captureText1跟踪:
trace(myFirstName.text);
trace(myLastName.text);
trace(myEmail.text);
etc...
只是为了确保你有适当的价值。
如果是,您可以在跟踪之后立即执行以下操作,而不是使用额外的变量:
var customer:Object = new Object;
customer.first_Name = myFirstName.text;
customer.last_Name = myLastName.text;
customer.email = myEmail.text;
customer.date_of_birth = "" + myDob1.text + myDob2.text + myDob3.text;
customer.telephone = myTele.text;
var myJson: String = JSON.stringify(customer);
trace(myJson);
如果使用Textfield,代码在哪里?例如,如何更改inPutFirstname的值?这是什么意思?不使用Textfield,而是使用Textinput。这是最下面的代码。例如,当用户在文本框中输入自己的名字时,当用户单击带有inPutFirstname=myFirstName.text的send按钮后,该名字就会变成一个文本字符串变量;在捕获功能中。非常感谢walkietokyo。我觉得这是一种新的想法,但我就是无法理解。现在完全有道理了!
var customer:Object = new Object;
customer.first_Name = myFirstName.text;
customer.last_Name = myLastName.text;
customer.email = myEmail.text;
customer.date_of_birth = "" + myDob1.text + myDob2.text + myDob3.text;
customer.telephone = myTele.text;
var myJson: String = JSON.stringify(customer);
trace(myJson);