我正在向php脚本发送两个参数。如果我使用浏览器运行脚本并像http://www.somewebsite.com/runScript.php?id=aaa&name=bbb那样传递参数,那么php脚本可以正常工作。但是当我使用Flex httpservice时,参数不会传递给脚本。
<s:HTTPService url="http://www.somewebsite.com/runScript.php"
id="verifyUserService"
result="verifyUserResult(event)"
fault="verifyUserFault(event)"
method="GET"
contentType="application/xml"
useProxy="false">
<mx:request xmlns="">
<id>
{userId}
</id>
<name>
{username}
</name>
</mx:request>
</s:HTTPService>
我检查了网络监视器,并且正在发送参数:
POST /runScript.php HTTP / 1.1 Referer: app:/AIMTSJC.swf接受:text / xml, 应用程序/ XML, 应用/ XHTML + xml的, text / html; q = 0.9,text / plain; q = 0.8, text / css,image / png,image / jpeg, 图像/ GIF; Q = 0.8, 应用程序/ x-冲击波闪光, 视频/ MP4; Q = 0.9, FLV-应用/八位字节流; Q = 0.8, video / x-flv; q = 0.7,audio / mp4, application / futuresplash, / ; q = 0.5 x-flash-version:10,1,53,64 Content-Type:application / xml 内容长度:33用户代理: Mozilla / 5.0(Windows; U; en-US) AppleWebKit / 531.9(KHTML,和Gecko一样) AdobeAIR / 2.0.2主持人:www.somewebsite.com
AAABBB
回复回复:
HTTP / 1.1 200 OK日期:2010年9月2日星期四 02:58:54 GMT Server:Apache / 2.2.11 (Unix)mod_ssl / 2.2.11 OpenSSL / 0.9.7d PHP / 5.2.8 X-Powered-By:PHP / 5.2.10 到期日:1981年11月19日星期四08:52:00 GMT 缓存控制:无存储,无缓存, 必须重新验证,post-check = 0, pre-check = 0 Pragma:no-cache 设置Cookie: PHPSESSID = pa81b900ddff7c0b61c44c3380g3590fb; path = / Transfer-Encoding:chunked 内容类型:text / html
id:name:
我的php脚本:
// Get the id and name.
$uid= $_GET["id"];
$uname= $_GET["name"];
echo "uid: ".$uid;
echo "uname: ".$uname;
我形成一个查询并发送到数据库。当我在浏览器URL上输入如上所述的http:// ...时,查询成功。 uid和uname都有正确的参数。但是当我运行httpservice时,uid和uname都没有参数,查询失败。
感谢任何帮助!
提前致谢, aobs
答案 0 :(得分:0)
再次查看网络监视器输出。它实际上是通过POST进行的,因此你的$ _GET将为空:
POST /runScript.php HTTP/1.1 Referer: app:/AIMT etc....
^^^^---post, not get