JQuery搜索输入到Coldfusion CFC

Phi*_*ert 2 coldfusion search jquery cfc cordova

我很喜欢Coldfusion,并通过网址通过网络传递表格中的变量.我无法绕过这个移动设备.我正在开发一个从我的服务器上的数据库中提取的应用程序.我现在有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>
Run Code Online (Sandbox Code Playgroud)

这是我在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"
    );
});
Run Code Online (Sandbox Code Playgroud)

这是我在服务器上的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;
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望有人可以帮忙解决这个问题.如果我可以使这个工作,它将帮助我开发其他会传递变量的东西!

Sam*_*mer 6

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

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

并在ColdFusion中添加一个参数:

remote array function getsearch( searchName ) {
Run Code Online (Sandbox Code Playgroud)

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

q.setSQL("select id1, Date, ShowLInk, IntName, description from RYPRadio Where intName LIKE :searchParam order by date desc");
q.addParam( name="searchParam", value="%#searchName#%" );
Run Code Online (Sandbox Code Playgroud)