ajaxSubmit не перезагружает страницу после первого запроса (в CakePHP) - PullRequest
2 голосов
/ 23 февраля 2011

Я создаю CMS, в которой есть раздел редактирования страницы. Я пытаюсь создать функцию предварительного просмотра. Он отлично работает с первой попытки, но если затем изменить текст и выполнить предварительный просмотр, предварительный просмотр - это старая версия. Это также появляется очень быстро. Как будто функция ajaxSubmit не беспокоит перезагрузку страницы.

Я пытался обойти это, меняя URL каждый раз (добавляя метку времени до конца), но это не имело никакого значения. Я использую jquery, cakePHP и редактор fck.

Вот что у меня есть:

<script type="text/javascript">
$('#page_modal').jqm();
$('#preview_btn').click(function(e){
  // Get current page content from fck iframe
  var oEditor = FCKeditorAPI.GetInstance('PageContent');
  var newcontent = oEditor.GetData();
  $('#PageContent').html(newcontent);

  // Submit form via Ajax
  var d=new Date();
  var t=d.getTime();
  var thisurl = '/admin/pages/preview/' + t.toString();

  $('#ajaxForm').ajaxSubmit({
   url: thisurl,
   error: function(XMLHttpRequest, textStatus, errorThrown){                      
    alert(textStatus);
   },
   success: function(responseText){
    $('#page_modal').jqmShow().find('#page_modal_content').html(responseText);
   }
  });
  e.preventDefault(); 
 });
</script>

Как я уже сказал, в первый раз он работает нормально, но при последующих вызовах контент не обновляется. Кто-нибудь может предложить что-нибудь?

1 Ответ

0 голосов
/ 30 апреля 2011

Попробуйте пометить представление (/ admin / pages / preview) без кеша. В фактическом виде поставить:

<cake:nocache>

 // your view content here

</cake:nocache>

Может случиться так, что представление кэшируется в виде торта, поэтому оно не обновляется при последующих вызовах.

http://book.cakephp.org/view/347/Marking-Non-Cached-Content-in-Views

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...