2016-07-07 5 views
0

jQuery Ajaxを使用してColdFusionクエリオブジェクトをcfc関数に渡すにはどうすればよいですか?これは私の関数に渡すように思わJQuery経由でcfc関数にクエリを渡すにはどうすればよいですか?

<cfoutput query="data"> 
    <script type="text/javascript"> 
     $.ajax({ 
      url: '/test.cfc', 

      data:{ 
      q: #data#, //is this how i pass it? 
      method: "getData" 
      }, 
      success: function(data) { 
      console.log(data); 
      } 
     }); 
    </script> 
</cfoutput> 

が、私は言うCFエラーを取得::私はそうのようなのcfqueryを実行した後、私はAJAX呼び出しを作っています

Complex object types cannot be converted to simple values.

コンソールが「を言うと予期しない入力の終了 "。私はそれをクリックすると、 は、それは価値された状態で、私のAJAX呼び出しでq表現を強調:

<!-- " ---></TD></TD></TD></TH></TH></TH></TR></TR></TR></TABLE></TABLE></TABLE></A></ABBREV></ACRONYM></ADDRESS></APPLET></AU></B></BANNER></BIG></BLINK></BLOCKQUOTE></BQ>......

マイCFC関数が呼び出さなっていると私は同じ名前の引数を定義しています。

<cfargument name="q" type="query" required="true" /> 

質問が間違っていると思いますが、適切にクエリを渡していないと思いますか?

+0

これは可能ですか? – surgiie

+0

なぜこれをやろうとしていますか?典型的には、それは逆です。 – Leigh

+0

...このクエリのレコードをループして出力することを意味します。私はそれがあなたがやりたいことだとは思わない。プレゼンテーションコードに何が必要なのかを更新して教えてください。通常、Ajaxを使用してブラウザからデータを収集し、それをサーバーに送信します。 CFQUERYはサーバー上で実行されるので、ブラウザにデータを出力する前に、作成した後に必要な他のCF関数に結果を渡すことができます。 –

答えて

-1

私はあなたがSerializeJSON機能を探していると信じています。

<cfoutput query="data"> 
    <script type="text/javascript"> 
     $.ajax({ 
      url: '/test.cfc', 

      data:{ 
      q: #SerializeJSON(data)#, //is this how i pass it? 
      method: "getData" 
      }, 
      success: function(data) { 
      console.log(data); 
      } 
     }); 
    </script> 
</cfoutput> 

より:おそらくhttp://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-79fa.html

+1

技術的には可能ですが、クエリ*バック*をajax経由でサーバーに渡すのは間違っていますアプローチ(この質問の下のコメントを参照)。作業はサーバー側で行う必要があります。 – Leigh

+0

大丈夫ですが、serializeJSON()は、私がhttp://www.jquery-bootgrid.com/で使用できるより標準的なJSONでクエリを返しません – surgiie

-1

よりマニュアルが必要とされている何か?私は一度働くことのためにこれをしなければならなかった...

<cfsavecontent variable="myOutput">{"QUERY":{"COLUMNS":["ID","BRANDID","CODE","ITEMNO","NAME","SIZE","UNIT","OUNCES","PRICE","DATETIME","USED"],"DATA":[<cfoutput query="parts" maxRows="#arguments.pageSize#">["#ID#","#BRANDID#","#CODE#","#ITEMNO#","#NAME#","#SIZE#","#UNIT#","#OUNCES#","#PRICE#","#datetime#",<cfif 
     used gte 1>"Yes"<cfelse>"No"</cfif>]<cfif (currentRow neq recordCount) and (currentRow mod arguments.pageSize neq 0)>,</cfif></cfoutput>]},<cfoutput>"TOTALROWCOUNT":#result_count.totalRecords#}</cfoutput></cfsavecontent> 
関連する問題