POST作为GET发送

时间:2011-11-06 01:19:57

标签: php flex post

我正在编写一个Flex应用程序,它使用HTTPService与php脚本进行通信,以便对数据库进行查询。 如果我使用GET请求,一切正常,但它不适用于POST。出于某些奇怪的原因,php脚本实际上是接收GET请求而不是POST。此外,它似乎不携带我从flex应用程序发送的参数。

以下是Flex代码的一部分:

<mx:HTTPService id="userRequest" url="url" 
                useProxy="false" method="POST" result="checkTransmissionCode()"> 
    <s:request xmlns=""> 
        <transmissionCode>{transmissionCode_TextInput.text}</transmissionCode>              
    </s:request>        
</mx:HTTPService>

private function sendCode() :void{
     userRequest.send();
}

private function checkTransmissionCode() :void {                                                                            
            if(userRequest.lastResult.authorization=="correct"){
                this.currentState='transmission';
            }
            else{
                Alert.show("Invalid");  
            }
            userRequest.clearResult();                              
        }

我已经找到了一些有类似问题的人的其他线程,但他们都没有帮助我... 有谁知道为什么会这样,或者对如何解决这个问题有所了解?

1 个答案:

答案 0 :(得分:0)

你在做什么应该工作。服务器端是否有任何重定向?我相信那些会将请求类型从Post更改为Get。

在Flex 2天内,在将method属性添加到HTTPService标记之前;访问YouTube REST API时,我遇到了一些奇怪的问题。它需要获取请求,但HTTPService的默认值是post。我能够通过指定GET而不是POST的HTTP头来解决这个问题。也许你可以使用相同的方法,但相反。

在拨打电话之前尝试这样的事情:

private function sendCode() :void{
 userRequest.headers['X-HTTP-Method-Override'] = 'POST';        
 userRequest.send();
}