嗨,這是我在stackoverflow上的第一個問題:) 試圖使用JavaScript處理Coldfusion。通過在javascript函數中使用cfquery來搜索數據庫
我試圖從數據庫中提取數據並將其顯示在我的頁面中。 但我意識到js是客戶端語言,而cf是serverside。 我不能只運行CFQUERY的一個函數裏,所以我有兩個文件
一個是我的index.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>
,一個是我的grid.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>
你能幫助我理解我的代碼,我真的不知道我是否在正確的軌道上,或者如何將一個變量傳遞給我的grid.cfm,以便知道要查找的名字。在此先感謝:)
您正在大量錯誤。我建議從頭開始。採取寶貝步驟,比如讓你的查詢不使用CF,讓你的查詢使用CF工作,讓它在一個函數內工作,等等。一旦你成功取得了成就,不要改變它。 –
您是否被迫使用ColdFusion?你爲什麼使用它? –
我同意丹的評論。簡單地開始。編寫代碼來完成一件事。測試它。泡沫,沖洗,重複。此外,這個聲明跳到我身上:*我有兩個文件...一個是我的** grid.CFM ***。組件必須存儲在'.cfc'文件中。如果將它們存儲在'.cfm'腳本中,它們將無法按預期工作。 – Leigh