0

我对 Flash Builder 还很陌生,但我在网上和这里阅读了一些文章,这是一个我似乎无法解决的持久性问题。

在 Flash Builder 中,我有一个 ID 为“searchBar”的搜索栏。除了搜索栏外,还有一个标有“提交”的按钮。

我的系统是这样工作的:

  1. 我已经建立了一个 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>
    
  2. 用户在搜索框中输入搜索词并点击“提交”
  3. 单击按钮时,会调用 click_handler 事件,在这里我创建了一个变量:

     var param:Object = new Object;
                param.action = 'search';
                searchBookAuthor.send(param); // ID of HTTPService
    


3. action = 'search' 与我的 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'] 似乎没有获取数据。抱歉,看了很多,但我真的不知道我要去哪里错了。

非常感谢任何帮助,谢谢。

蒂姆

4

1 回答 1

1

稍微编辑一下您的请求结构:

<s:request xmlns="">
    <searchBar>{searchBar.text}</searchBar>
    <action>search</action>
</s:request>

然后在 click_handler 事件中:

searchBookAuthor.send()

这应该有效。

*当您传递paramsend()函数时,您基本上是在覆盖您的请求结构。换句话说,你也可以这样做:

var param:Object = new Object;
            param.action = 'search';
            param.searchBar = searchBar.text;
            searchBookAuthor.send(param);
于 2012-04-29T23:53:03.790 回答