2

我非常擅长使用 Coldfusion 并通过 URL 通过 Web 以表单形式传递变量。我还不能完全理解这些移动设备。我正在开发一个从我服务器上的数据库中提取的应用程序。我现在对服务器进行了 2 次调用,它们只是在没有任何“where”语句的情况下提取数据,并且它们工作得很好。我想添加一个搜索输入,该输入将包含用户在框中输入的内容,以便在我的 .cfc 上进行查询。不知道如何将该数据从电话表单传递到我服务器上的 cfc。

这是搜索按钮代码...

<form action="searchresult.html" method="post"  data-transition="none">
    <input type="search" name="mySearch" 
           id="mySearch" value="" data-mini="true" data-theme="b" />
</form>

这是我在 XCode 中的脚本代码,应该在提交搜索时运行......(我不知道将任何变量放在哪里传递给 cfc。它可以在 URL 中传递吗?)

$("#resultPage").live("pageshow", function() {
    console.log("Getting remote list" + event.notification);
    $.mobile.showPageLoadingMsg();
    $.get("http://www.mywebsite.com/jquery/ryprad.cfc?
                      method=getsearch&returnformat=json", 
        {}, 
        function(res) {
            $.mobile.hidePageLoadingMsg();
            var s = "";
            for(var i=0; i<res.length; i++) {
                s+= "<li><a name=" + res[i].id + " + href='" 
                    + res[i].showlink + "'>" 
                    + res[i].date + "<br/>" + res[i].name + "<br/>" 
                    + res[i].description + "</a></li>";
            }

            $("#resultList").html(s);
            $("#resultList").listview("refresh");
            },
        "json"
    );
});

这是我在服务器上的cfc ...

component {
remote array function getsearch() {
    var q = new com.adobe.coldfusion.query();
        q.setDatasource("myDat");
        q.setSQL("
            select id1, Date, ShowLInk, IntName, description from RYPRadio 
            Where intName 
            LIKE '%#VARIABLE_FROM_PHONE_SEARCH#%' 
            order by date desc"
        );
        var data = q.execute().getResult();
        var result = [];
        for(var i=1; i<= data.recordCount; i++) {
            arrayAppend(
                result, 
                {
                    "id"=data.id1[i], 
                    "name"=data.IntName[i], 
                    "date"=dateformat(data.date[i], "mmmm d, yyyy"), 
                    "description"=data.description[i], 
                    "showlink"=data.ShowLInk[i]
                }
            );
        }
        return result;
    }
}

我希望有人可以帮助解决这个问题。如果我能做到这一点,它将帮助我开发其他可以传递变量的东西!

4

2 回答 2

6

将搜索字符串添加到 jquery 调用中:

$.get("http://www.mywebsite.com/jquery/ryprad.cfc?method=getsearch&returnformat=json&searchName="+ $("#mySearch").val(), {}, function(res) {

并在 ColdFusion 中添加一个参数:

remote array function getsearch( searchName ) {

并相应地调整您的查询。你应该像这样使用一个参数:

q.setSQL("select id1, Date, ShowLInk, IntName, description from RYPRadio Where intName LIKE :searchParam order by date desc");
q.addParam( name="searchParam", value="%#searchName#%" );
于 2012-07-05T21:25:09.320 回答
0

你的意思是这样的:http: //jacktraynor.blogspot.com.au/2012/02/jquery-autocomplete-using-coldfusion.html ?m=1

于 2012-07-05T21:22:05.900 回答