jqueryが新しく、データベースを呼び出してダイアログボックスでデータベースを更新する関数を作成しようとしています。私は以下のコードを生成するために既存のテンプレートを修正し、関数savefeeをjquery関数によって呼び出すことはできません。私のjavascriptコンソールにエラーはありません。どんな助けもありがとうございます。 Application.cfcのでこの機能をjqueryがcoldfusion cfcの呼び出しを使用していません
`
<cfset getfees = new artservice().getfees()>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
<script>
$(document).ready(function() {
$(".artdiv").click(function() {
var initialDiv = this;
//based on which we click, get the current values
var feeid = $(this).data("fee_id");
var feetitle = $("h2", this).text();
// set form values
$("#fee_id").val(feeid);
$("#fee_title").val(feetitle);
$("#editForm").dialog({
buttons: {
"Save": function() {
var thisDialog = $(this);
$.post("artservice.cfc", {
method: 'savefee',
fee_id: $("#fee_id").val(),
fee_title: $("#fee_title").val()
},
function() {
//update the initial div
$("h2", initialDiv).text($("#fee_title").val());
$(thisDialog).dialog("close");
});
}
}
});
});
});
</script>
<style>
.artdiv {
padding: 5px;
margin: 5px;
background-color: #80ff80;
}
#editForm {
display:none;
}
</style>
</head>
<body>
<cfoutput query="getfees">
<div class="artdiv" data-fee_id="#fee_id#">
<h2>#fee_title#</h2>
</div>
</cfoutput>
<div id="editForm" title="Edit Art">
<input type="hidden" id="fee_id">
<p>
<b>Name:</b><br/>
<input type="text" id="fee_title">
</p>
</div>
</body>
</html>
`は
CFCは
`
<cffunction name="getfees" access="public">
<cfquery datasource="dsn" name="getfees" maxrows="10">select fee_id, fee_title from table</cfquery>
<cfreturn getfees>
</cffunction>
<cffunction name="savefee" access="public">
<cfargument name="fee_id" required="yes">
<cfargument name="fee_title" required="yes">
<cfquery datasource="dsn">update table set fee_title = '#arguments.fee_title#' where fee_id = #fee_id#</cfquery>
</cffunction>
`
誤差未満でした彼らはCFCへの直接ブラウザによって呼び出されているので、あなたの関数がaccess="remote"
に設定する必要があります
public void function onCFCRequest(required string cfcname, required string method, required string args) {
return;
}
ブラウザコンソールでAJAXリクエストを確認していますか?ステータス200ですか?正しいデータが送信されましたか... ... cfoutput ...と表示されません。コンソールはサーバーとクライアントの問題を絞り込むのに役立ちます – charlietfl
はいAJAX要求が行われています。ステータスは200です。 "onCFCRequest関数に渡されたARGS引数は、application.cfcファイル(これとは別)にあるstring型ではありません。コードは以下のとおりです。私は関数をコメントアウトし、今は正常に動作しています。これがどうして起こったのか'\t public void function onCFCRequest(必須文字列cfcname、必須の文字列メソッド、必須の文字列引数){ \t \t \t return; \t} – eduski
私はもっとフロントエンドですが、coldfusion、特にCFCは、私の強みではありません。しかし、平均的な ''タグを書くことができます!...時々便利なajaxのために –
charlietfl