帖子不起作用(GET确实有效!)

时间:2010-08-20 20:13:02

标签: php flex

我有一个文件从用户那里取一个变量然后打印一些东西,比如说

$something = $_GET['something'];
echo $something;

它与GET完全正常,但是,如果你改变它发布它停止工作。我正在从Flex客户端向PHP代码发送请求,当我在PHP中使用get时,我正在使用get请求,当我在PHP中使用post请求时,我正在使用flex的post请求。有没有办法知道为什么POST不起作用?

我在flex中使用的帖子请求:

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");
}

(注意,我对GET使用相同的东西,除了我将.POST更改为.GET)

请随时向我询问任何其他详细信息或信息。

1 个答案:

答案 0 :(得分:2)

奇怪的是,UrlRequest应该可以正常使用POST,我知道如果你也发送二进制数据就无法传递变量,但事实并非如此。

无论如何,尝试使用HttpService重新思考问题(比URlRequest恕我直言更清晰)。在你的情况下,这样的事情应该做的工作:

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);

希望这个帮助