このボタンをクリックすると、レコードをデータベースに挿入してからファイルをダウンロードするボタンを作成しようとしています。私はAjax経由でこれをやろうとしていますが、ファイルのダウンロードは動作しますが、レコードをdbに挿入していません。ColdFusionでAjaxを使用したdbレコードの挿入とファイルのダウンロード
トリガー
<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開発ツールを開き、[ネットワーク]タブをクリックします。次に、ボタンをクリックし、components.cfcへの呼び出しを見てください。これによりエラーが出力されます。また、クエリに少なくとも2つの構文エラーがあります。1) cfqueryparam>を閉じないでください。 2)クエリの最後に「)」という行末がありません。 –