我正在向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