我有一个文件,它从用户那里获取一个变量,然后打印一些东西,比如说
$something = $_GET['something'];
echo $something;不过,如果你把它改成post,它就会停止工作。我将请求从flex客户端发送到PHP代码,在PHP中使用get请求时使用get请求,在php中使用post请求时使用来自flex的post请求。有没有办法知道POST不工作的原因?
我在flex中使用的post请求:
var variables:URLVariables = new URLVariables("username=" + username + "&password=" + password);
var request:URLRequest = new URLRequest();
request.url = proxy + "authenticate.php";
request.method = URLRequestMethod.POST;
request.data = variables;
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, authenticateUserHandler);
try {
loader.load(request);
}
catch (error:Error) {
Alert.show("Unable to load URL");
}(注意,除了将.POST更改为.GET外,我对GET使用的是相同的东西)
请随时向我询问任何其他详细信息或信息。
发布于 2010-08-21 09:01:26
奇怪的是,UrlRequest应该可以很好地处理POST,我知道如果你也发送二进制数据,你就不能传递变量,但这不是你的情况。
无论如何,尝试使用HttpService (比URlRequest IMHO干净得多)来重新思考这个问题。在您的例子中,类似这样的代码应该可以完成工作:
var params:Object = {};
params.username = _view.username.text;
params.password = _view.password.text;
var service:HTTPService = new HTTPService();
service.url = proxy + "authenticate.php";
service.method = "POST";
service.addEventListener("result", authenticateUserHandler);
service.send(params);希望这对你有所帮助
https://stackoverflow.com/questions/3534527
复制相似问题