3

頭をcoldfusion.ajax.submitformに巻き付けるのに本当に問題があります。cfcの呼び出しが機能していて、データがdbに保存されていますが、メソッド呼び出しが成功したというメッセージを受信する方法がありません(または正しく設定されていません)。これが私のコードです:

<cfcomponent>
<cffunction name="postFeedback" access="remote" returntype="boolean">
  <cfargument name="name" type = "string" required="yes">
      <cfargument name="email" type = "string" required="yes">
      <cfargument name="post" type = "string" required="yes">
      <cfquery name="postFeedback" datasource="myDB">
    Insert into feedback (name, email, post, date)
    Values('#ARGUMENTS.name#','#ARGUMENTS.email#','#ARGUMENTS.post#', #Now()#);
    </cfquery>
    <cfreturn true>
</cffunction>
</cfcomponent>

これが私のajax呼び出しです:

function submitForm() {
   ColdFusion.Ajax.submitForm('myForm1', 'Feedback.cfc?method=postFeedback', callback, errorHandler);

}

function callback(text)
{
    alert("Callback: " + code + ": " + msg);
}


function errorHandler(code, msg)
{
    alert("Error!!! " + code + ": " + msg);
}

最終的には、戻り値にアクセスして「getFeedback」などのメソッドを使用してフィールドにデータを入力する方法を理解したいと思います。私はすでにcfinvokeでこれを行うことができますが、ボタンクリックを介してこれを行うことを探しています。歩く前に這う必要があります。;)

任意のガイダンスをいただければ幸いです。

ありがとう

4

1 に答える 1

2

ColdFusion.Ajax.submitFormを参照してください。

コールバックハンドラ

通常の応答を処理する JavaScript 関数。関数は、応答本文を含む単一の引数を取る必要があります。このメソッドは、フォーム送信が非同期の場合にのみ使用されます。

それを比較してください:

エラーハンドラ

HTTP エラー応答を処理する JavaScript 関数。この関数は、HTTP ステータス コードとエラー メッセージの 2 つの引数を取る必要があります。このメソッドは、フォーム送信が非同期の場合にのみ使用されます。

callbackhandler を使用して errorhandler 引数にアクセスしようとしているようです。

function callback(text)
    {
        alert("Callback: " + code + ": " + msg);
    }

あなたは試してみたいかもしれません:

function callback(text)
    {
        alert("Callback: " + text);
    }
于 2012-10-13T18:32:43.047 に答える