2014-12-19 57 views
0

我想要實現Ajax/J-Query更新數據庫,現在我需要重新加載我的ctp頁面的所有內容在cakephp沒有刷新/重定向。如何重新加載控制器沒有重定向/刷新cakephp

可能嗎?

請幫我一把。

我試圖

$.ajax({ 
      url: 'http://localhost/projectname/Experiences/experienceadd', 
      type: 'POST', 
      data: {'companyname':companyname,'title':title,'monthstart':monthstart,'location':location,'yearstart':yearstart,'yearnextstart':yearnextstart,'monthnextstart':monthnextstart,'presentyeardata':presentyeardata,'description':description}, 
      success: function (data) { 
       if(data) 
       { 
       mystr = '<div style="display: block; opacity: 1;" class="item mix book mix_all" data-year="2010"> <div class="pubmain"> <div class="pubassets"> <a href="#" class="pubcollapse"> <i class="icon-expand-alt"></i> </a> </div> <h4 class="pubtitle"> ' + companyname + '</h4> <div class="pubauthor"><strong>'+ title +'</strong>,'+ location+'</div> <div class="pubcite">'+ yearstart +' - '+ yearnextstart +' , <strong>'+ presentyeardata + '</strong> </div> </div> <div style="display: none;" class="pubdetails"> <h4>'+ description+'</h4> <div class="pubdetails"> <a class="icon_a icon_right_head" class="exp_rid" id="'+ data +'" href="javascript: void(0);"><i class="icon-trash"></i> Remove</a> <a class="icon_a icon_right_head" class="exp_eid" id="'+ data +'" href="javascript: void(0);"><i class="icon-pencil"></i> Edit</a> </div> </div></div>'; 
       $('#pexperience_details').append(mystr);  
       $("#experience-box").hide(500, function() { });  
       $('#add-experience').show(); 
       $().toastmessage('showSuccessToast','your skill is successfully Saved');  
       } 
       else 
       { 
        $().toastmessage('showErrorToast', 'your skill is not successfully Saved');  
       } 
      } 
     }); 

但是這一次只添加一個內容區域。如果我的問題解決了,則不需要上述代碼。 任何想法.....?

謝謝

+0

是的,它是可能的。但告訴我們你試過的東西 – 2014-12-19 09:25:01

+0

我試過以上的東西。 – Yash 2014-12-19 09:28:36

回答

1

創建一個全新的控制器操作。 例如

http://localhost/projectname/Experiences/refresh 

在這裏,您返回想要刷新的所有內容。 你可以調用這個函數阿賈克斯在您當前的AJAX功能(如果成功/數據)

此外,您可能希望關閉佈局

$this->layout = false; 
+0

你部分正確,但它不能完成我的目標。不管怎麼說,還是要謝謝你。 – Yash 2014-12-19 10:45:16

+0

你究竟想達到什麼目的? 如果你想刷新所有,爲什麼不能再次在ajax中調用當前頁面並將其放入? – conehead 2014-12-19 13:08:16

+0

我想從數據庫刷新所有更新的數據到我當前的控制器ctp,但我留在同一個地方,我現在在這裏。這背後有一個原因,就像在我的ctp中有太多的jquery和ajax調用一樣。 – Yash 2014-12-19 13:19:00