通过在 JavaScript 函数中使用 CFquery搜索 DataBSE

search a databse by using a cfquery inside a javascript function

本文关键字:CFquery 搜索 DataBSE JavaScript 函数      更新时间:2023-09-26

嗨,这是我关于堆栈溢出:)的第一个问题尝试让 Coldfusion 使用 JavaScript。

我正在尝试从数据库中提取数据并将其显示在我的页面中。但我意识到JS是一种客户端语言,而cf是服务器端语言。我不能只在函数内运行 cfquery,所以我有两个文件

一个是我的索引.html

    <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script>

</head>
<body class="jumbotron">
<div class="container text-center " >
        <div class="row">
            <img class="col-sm-4 col-sm-offset-4" src="emp.jpg"/>
        </div>
        <div class="row" style="margin-top:20px" >
        <div class="col-sm-6 col-sm-offset-3">
            <div id="imaginary_container"> 
                <div class="input-group stylish-input-group">
                    <input type="text" class="form-control" id="searchBar" name="searchBar" placeholder="Search" >
                    <span class="input-group-addon">
                        <button onclick="search(global,$http)">
                            <span class="glyphicon glyphicon-search"></span>
                        </button>                          
                    </span>
                </div>
            </div>
        </div>
    </div>
</div>
<script> 
function search($scope, $http) {
    var searchQ = document.getElementById('searchBar').value;
    $http.get('/grid.cfc?method=getContact&returnformat=json').
        success(function (response) {
            $scope.todos = data.DATA;
    }).
        error(function (data) {
            $scope.todos = data;
        });
};    

</script>
</body>
</html>

一个是我的网格.cfc

    <cfcomponent>
<cffunction name="getContact" access="remote" >
    <cfargument name="firstName" default="">
    <cfargument name="lastName" default="">
    <cfquery name="searchQry" datasource="MehrabanDSource">
        SELECT
            *
        FROM Contacts
        WHERE FirstName=fname;
    </cfquery>
    <cfreturn searchQry>
</cffunction>
</cfcomponent>

你能帮我理解我的代码吗,我真的不知道我是否在正确的轨道上,或者我如何将变量传递给我的网格.cfm所以它知道要寻找什么名字。提前非常感谢:)

谢谢丹,谢谢利:)我用了:

  <cfajaxproxy cfc="functions" jsclassname="ajax_proxy" /> 
  <cfajaximport> 
  <script> 
         function send_ajax(searchBar) {
           var instance = new ajax_proxy(); 
           instance.setCallbackHandler(return_ajax); 
           instance.functionality(searchBar); 
          } 
           function return_ajax(result) { 
                   document.getElementById('output').innerHTML = result;
           }
   </script>