2011-01-26 27 views
-1

爲什麼這不工作?Jquery中的Coldfusion cfquery

$("#selection").change(function() { 
    description = $("#selection").val(); 
    console.log(description); 

    <cfquery datasource="#Application.cartdsn#" name="descriptions"> 
    SELECT d.description FROM descriptionmap d, invoice i 
    WHERE 
        i.description= 
         <cfqueryparam value="#description#" cfsqltype="cf_sql_integer" maxlength="20"> 
    </cfquery> 


     }) 

我已經測試了它的jQuery之外,它工作正常。是不是可以在jquery中嵌入一個cfquery?如果不可能,我該如何去做這件事?

+0

即使數據在某種程度上可以評估客戶端的服務器端代碼,您將使用JavaScript代碼中嵌入的cfquery生成多少javascript語法錯誤?此外,假設您能夠在客戶端運行該查詢並返回查詢結果,則在上面的示例中您沒有對它進行任何操作。你只是在運行一個查詢,你沒有把它分配給任何東西。 – 2011-01-26 22:52:46

+0

對,我將這一部分拿出來,因爲我想給最少量的代碼來獲得我想要做的事情。對不起,我不明白客戶端/服務器的問題,你爲什麼生氣? – 2011-01-26 23:32:04

回答

4

您正在將服務器端代碼與客戶端代碼混合在一起。

  • cf在服務器上處理。
  • jquery在瀏覽器上處理,沒有辦法讓它與已經存在和已經存在於服務器上的內容進行交互。

事件序列:

  1. CF解析源文件,併產生HTML。 HTML包含你的jQuery代碼。
  2. CF將輸出發送到Web瀏覽器
  3. Web瀏覽器中呈現的數據,並有change事件
  4. 用戶更改選擇的定義.. 代碼不能在服務器上運行!

如果您在3的瀏覽器頁面上查看源代碼,則CF代碼已經在服務器上完成處理,並且所有您獲得的都是輸出。

-1

下面一些例子來對ColdFusion的查詢:

<cfquery name="anyNAME" datasource="your datasource"> 
SELECT *yourCOLUMN* FROM *tableName* 
</cfquery> 

下面示例輸出如何從MySQL

<cfoutput query="anyNAME"> 
<textarea> #yourCOLUMN# </textarea> 
</cfoutput> 

這是一個簡單的mimple容易的ColdFusion代碼