我有一个javascript文件,它有一个函数调用服务器(url)来获取信息。这是javascript函数:
sendQuery = function(devstr) {
var baseUrl = 'http://serverurl/' + devstr;
alert("the url is " + baseUrl);
$.ajax(baseUrl, {
type: 'GET',
dataType: 'json'
}).done(function(results){
return results;
}).fail(function(e) {
showError(e);
});
}
从actionscript我调用这个函数如下:
var result:String = ExternalInterface.call("sendQuery", parameter) as String;
调用实际发生了(我从javascript获得了一个带有正确url的警报),但结果只是空或null。没有结果回来。我在javascript中添加了一个“完成”的警报,并且不会调用该警报。
我尝试使用ExternalInterface.addcallback,但我无法传递参数,我不完全确定这是否也可以。
我不完全确定从Actionscript调用调用服务器的Javascript文件,然后将信息返回到actionscript,这样我就可以解析它并用它做更多的事情。
我还应该注意,我将要执行的一些操作需要POST操作。我没有通过actionscript执行此操作的原因是因为它要求在我请求此信息的服务器上有一个crossdomain.xml文件。
提前感谢您的帮助。
答案 0 :(得分:0)
您要尝试做的事情,可以在纯Javascript
URLLoader课程中ActionScript3.0
var baseUrl:String = 'http://serverurl/'+parameter;
var request:URLRequest = new URLRequest(baseUrl);
request.contentType = 'application/json';
request.method = URLRequestMethod.GET; //For 'POST' request-> URLRequestMethod.POST
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, function(e:Event):void{
var result:* = e.target.data;
});
urlLoader.load(request);
完成:
{{1}}