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)
我希望有人可以帮忙解决这个问题.如果我可以使这个工作,它将帮助我开发其他会传递变量的东西!
将搜索字符串添加到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)