我試着去創建一個按鈕,點擊時插入一條記錄到數據庫中,然後下載一個文件,下載文件。我試圖通過Ajax做到這一點,文件下載工作,但它不是在db中插入記錄。ColdFusion的插入數據庫記錄,並使用Ajax
觸發
<button type="button" class="btn btn-primary" onClick="downloadFile1()">Download</button>
腳本
function downloadFile1(){
var file1 = 'https://example.com/files/myfile.zip';
$.ajax({
TYPE: "POST",
URL: "components.cfc?method=DownloadFile1",
data: {fileId : 3},
success: function() {
window.location = file1;
}
});
}
</script>
Components.cfc
<cfcomponent output="false">
<cffunction name="DownloadFile1" access="remote" returntype="string">
<cfcontent type="text/html">
<CFQUERY NAME="i">
INSERT into t_terms
(bid, fildid)
VALUES
(
<cfqueryparam value="#session.busid#" cfsqltype="CF_SQL_INTEGER">,
<cfqueryparam value="#url.fileID#" cfsqltype="CF_SQL_INTEGER">)
</CFQUERY>
</cffunction>
有人能指出我要去的地方錯了嗎?
當您僅使用ColdFusion運行該函數時會發生什麼? –
有一個關閉)在sql查詢中丟失。 Cfqueryparam也不需要結束標籤。 – haxtbh
在函數的開頭添加。然後在您的瀏覽器上打開Web開發工具並單擊網絡選項卡。然後點擊按鈕,查看對component.cfc的調用。這會爲你輸出錯誤。另外,我發現查詢中至少有2個語法錯誤:1)不要關閉 cfqueryparam>; 2)您在查詢中錯過了關閉「)」。 –