我是Flash Builder的新手,但我在网络上和这里阅读了一些文章,这是一个我似乎无法解决的持续问题。
在Flash Builder中,我有一个ID为"searchBar"的搜索栏。除了搜索栏,还有一个标有"提交"的按钮。
我的系统的工作原理是这样的:
-
我已经设置了一个HTTP服务:
<s:HTTPService id="searchBookAuthor" url="http://localhost/cm0665-assignment/web/libraryServicePipe.php" result="searchBookAuthor_resultHandler(event)" fault="libraryService_faultHandler(event)" method="POST" > <s:request xmlns=""> <searchBar>{searchBar.text}</searchBar> </s:request> </s:HTTPService>
- 用户在搜索框中输入搜索词,然后单击"提交">
-
单击按钮时,将调用一个click_handler事件,在这里我创建了一个变量:
var param:Object = new Object; param.action = 'search'; searchBookAuthor.send(param); // ID of HTTPService
3. 操作 ="搜索"与我的 PHP 服务器端文件中的案例函数有关。
我的问题是我不知道如何获取用户输入的数据以在PHP中获取。我有这个,但它不起作用(尽管我已经通过向 URL 传递一些参数来测试脚本(:
$searchValue = $_POST["searchBar"];
$recset = new T_XMLRecordSet();
$searchSQL = "select Title, Author from l_stock WHERE Title OR Author LIKE '%$searchValue%'";
$result = $recset ->getRecordSet($searchSQL, 'book');
return $result;
结果返回我数据库中的每个标题和作者,$_POST['searchBar'] 似乎没有获取数据。对不起,看了很多,但我真的不知道我哪里出错了。
非常感谢任何帮助,谢谢。
提姆
稍微编辑一下请求结构:
<s:request xmlns="">
<searchBar>{searchBar.text}</searchBar>
<action>search</action>
</s:request>
那么在click_handler事件中:
searchBookAuthor.send()
这应该有效。
*当您将param
传递给send()
函数时,您基本上覆盖了您的请求结构。换句话说,您也可以通过以下方式执行此操作:
var param:Object = new Object;
param.action = 'search';
param.searchBar = searchBar.text;
searchBookAuthor.send(param);