我正在向php脚本发送两个参数。如果我使用浏览器运行脚本并将参数传递给它,php脚本可以正常工作,如http://www.somewebsite.com/runScript.php?id=aaa&name=bbb。但是当我使用Flex httpservice时,参数不会传递给脚本。Flex未能将参数传递给httpservice php脚本
<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: 应用:/AIMTSJC.swf接受:文/ XML, 应用/ xml, application/xhtml + xml, text/html; q = 0.9,text/plain; q = 0.8, text/css,image/png,image/jpeg, image/gif; q = 0.8, 应用/ x-shockwave-flash, video/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 Content-Length:33 User-Agent: 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日期:Thu,02 Sep 2010 02:58:54 GMT服务器: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 Cache-Control:no-store,no-cache, must-revalidate,post-check = 0, pre-check = 0 Pragma:no-cache Set-Cookie: PHPSESSID = pa81b900ddff7c0b61c44c3380g3590fb; 路径= /传输编码:分块 的Content-Type:text/html的
ID:名称:
我的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都没有参数,查询失败。
任何帮助表示赞赏!
由于提前,在您的网络监视器输出 AOB中再次
其实我尝试过改变$ _GET至$ _ POST,并试图再次它只是现在,在$ uid和$ UNAME仍然是空的。 – aobs 2010-09-02 03:54:38
我在Request body下得到了这个错误消息:type:Unknown&Body无法解析为有效的XML/AMF/JSON。 – aobs 2010-09-02 15:28:11
不能从你的例子中知道,但是'aaabbb'不会是一个有效的xml文档,如果这就是你想要发送给web服务的东西。也许这些标签粘贴在这里时会被剥离/隐藏,但无论哪种方式,它都不是xml,amf或json – 2010-09-02 17:14:41