2012-03-19 60 views
1

我想使用Adobe Flex发布一些JSON数据,但有一些问题。我现在收到错误消息“必须使用useProxy将URL指定为false”,尽管我的useProxy设置为false。如何使用Adobe Flex发布JSON

更新:下面的代码现在正在工作。

 
       var data:Object = new Object(); 
       data.ipaddr = ipaddr.text; 
       data.netmask = netmask.text; 
       data.gatewayip = gatewayip.text; 
       var jsonData:String = JSON.stringify(data); 
       var s:mx.rpc.http.HTTPService = new mx.rpc.http.HTTPService(); 
       // URL needs to be specified on a separate line, call is unreliable otherwise 
       s.url = Utils.getBaseURL() + '/cgi-bin/setnetworksettings'; 
       s.contentType = "application/json"; 
       s.resultFormat = mx.rpc.http.HTTPService.RESULT_FORMAT_TEXT; 
       s.method = "POST"; 
       s.useProxy = false; 
       s.addEventListener("result", httpResult); 
       s.addEventListener("fault", httpFault);   
       s.send(jsonData); 
+0

我没有经验ňAdobe Flex的,但我希望这urrl可以帮助你,http://www.mikechambers.com/blog/2006/03/28/tutorial-using-json- with-flex-2-and-actionscript-3/ – viyancs 2012-03-19 02:54:20

+0

s.send(JSON.encode(.. yourObject ..)); – 2012-03-19 03:40:27

回答

1

你是什么意思“似乎并没有做任何事情”?服务器没有回应?故障而不是结果?哪一个?帮助我们帮助你更多的细节,只是说明它不起作用是不够的。

首先,确保你的URL是正确的,你应该在服务结果处理程序或错误处理程序中得到任何东西,任何东西。这应该有助于您诊断和解决任何URL问题。

然后对于JSON部分,您的对象不是有效的JSON(无法转义,而是:而不是=),请尝试先发送:{"ipaddr":"10.1.1.1"}。 从这里开始应该很简单:正如F4L所述,您可以使用JSON类将实际对象直接编码为JSON。

希望帮助

+0

谢谢,这很有帮助。我通过调用JSON编码器替换了我的错误原始JSON。现在我的错误处理程序似乎表明useProxy应该是false,即使我在新代码中将它设置为false。 – 2012-03-19 15:47:03

+0

看起来像我现在工作。我将url规范移到了一个单独的行,并解决了useProxy问题。多谢你们。 – 2012-03-19 15:57:45

+0

太棒了,很高兴它适合你:) – 2012-03-19 16:14:53