I'm using some loader that doesn't accept products.php?cat=10
as a target because it's too stupid to figure out what's the file name and what's the query string. Is there an AS3 function that will parse an URL and return a URLRequest based on variables in the query string?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
There is possibility to create all you need:
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.net.URLVariables;
import flash.net.URLRequestMethod;
import flash.events.Event;
// the path to the backend file
var url : String = 'http://youdomain.com/filepath.php';
// url variables all which will appear after ? sign
var urlVariables : URLVariables = new URLVariables ();
urlVariables['varname'] = 'varvalue';
urlVariables['varname1'] = 'varvalue1';
// here you can add as much as you need
// creating new URL Request
// setting the url
var request : URLRequest = new URLRequest ( url );
// setting the variables it need to cary
request.data = urlVariables;
// setting method of delivering variables ( POST or GET )
request.method = URLRequestMethod.GET;
// creating actual loader
var loader : URLLoader = new URLLoader ();
loader.addEventListener( Event.COMPLETE, handleLoaderComplete )
loader.load ( request );
回答2:
You can use URLVariables.decode() to convert the query string into properties of the URLVariables object:
function getProperURLRequest ( url : String ) : URLRequest
{
var input : Array = url.split("?");
var urlVars : URLVariables = new URLVariables ();
urlVars.decode( input[1] );
var urlReq : URLRequest = new URLRequest ( input[0] );
urlReq.data = urlVars;
urlReq.method = URLRequestMethod.GET;
return urlReq;
}
回答3:
There should be no problems with urls like products.php?cat=1
. Maybe you just forgot to put crossdomain.xml on your server. I suppose, it's the most frequent error while using URLRequest