2013-02-25 110 views
2

我一直在試圖找到一種方法來做一些看起來很簡單但似乎無法找到解決方案的方法。我有一篇文章是用一些HTML編寫的,希望動態地改變它的一部分。我在服務器端使用Coldfusion 9,AJAX和jQuery UI 1.10.1 & jQuery 1.9.1。如何在cfc中用Coldfusion替換AJAX文章

我想要做的是在AJAX中發佈並在cfc中替換數據服務器端。這是我在客戶端的代碼。

var ipost = '<li> <h2><a href="PersonsID" target="_blank">Persons Name</a></h2> </li>'; 
var message_a = $('#message_a').attr('value'); 

       $.ajax({ 
        type: "POST", 
        url: "cfc/cfc_Forum.cfc?method=func_AddNew&returnformat=json", 
        data: { message:"message_a=" + wall_post }, 
        success: function() { 
         $('ul#posts').prepend(ipost); 

        } 
       }); 

我想用「Session.Variable1」和「人名稱」與「Session.Variable2」取代「PersonsID」。 cfc將成爲CF的標準協議。這是組件的外觀。

<cfcomponent> 

    <cffunction name="func_AddNew" access="remote" returntype="struct"> 
    <cfargument name="message" type="string" required="true" /> 
     <--- ********** replace "Persons ID" and "Persons Name" ************** ---> 

     <!--- ********* INSERT INTO DATA BASE ************ ---> 

     <cfreturn return /> 
    </cffunction> 

</cfcomponent> 

任何建議將是偉大的!

+0

目前,data屬性的值是無效的,它需要一個鍵和一個值,而不僅僅是一個值。 'data:{thestring:ipost}'除此之外,你只需要填入coldfusion組件來做你的替換/插入,並讓它返回json'returntype =「json」' – 2013-02-25 18:33:53

+0

謝謝凱文。我實際上簡化了我的ajax代碼,並沒有正確簡化它的例子... :)。我的問題確實與cfc中的代碼有關。我正在努力如何去替換「#arguments.message#」。對不起,我的問題不清楚。 – 2013-02-25 19:10:30

+0

是否有一個原因,你不想用javascript來獲取值?與JavaScript一樣簡單,如$(ipost).find(「a」)。attr(「href」)'獲得id,'.text()'獲取名稱。 – 2013-02-25 19:15:49

回答

1

下面的代碼可以工作,但是如果他們要查看源代碼,它確實暴露了該人的personID,所以這樣做有點風險。你可以做的另一件事是通過cftolken,並嘗試在cfc中找到正確的變量,這需要更多的努力。

$.ajax({ 
    type: "POST", 
    url: "cfc/cfc_Forum.cfc?method=func_AddNew&returnformat=json", 
    data: { message:"message_a=" + wall_post 
      , personID: <cfoutput>#Session.Variable1#</cfoutput> 
      , personName: <cfoutput>#Session.Variable2#</cfoutput> 
      }, 
    success: function() { 
     $('ul#posts').prepend(ipost); 
         } 
       }); 
+0

我認爲那會奏效! ID不是一個大問題。謝謝一堆! – 2013-02-25 21:26:54

相關問題