Я использую CakePHP 2.6
У меня проблема, когда я перенаправляюсь обратно в тот же вид, откуда был сделан запрос. Представление, похоже, кэшируется, поэтому любые изменения, внесенные во время запроса, не отображаются, пока страница не будет обновлена снова.
Это означает:
Почему это происходит?
Вещи, которые я проверил:
Configure::write('debug', 2);
Configure::write('Session', array( 'defaults' => 'php' ));
Типичный пример:
//Inside ListingsController... $this->Listing->id = $id; if ($this->Listing->save($listing)) { $this->Flash->success(__('"%s" is now active.', $listing['Listing']['title'])); } else { $this->Flash->error(__('Problem activating')); } //this is the original view... $this->redirect( array('controller'=>'listings', 'action'=>'mylistings') );
У меня точно такая же проблема. Вы нашли причину всего этого? Поскольку я пытался решить проблему, я видел это в своих заголовках ответов
Age 0 Connection keep-alive Date Tue, 21 Apr 2015 08:47:21 GMT Server ATS/3.2.4
Все файлы с 304 Not Modified Status
имели Apache Traffic Server (ATS) (из моей локальной сети), что заставило меня думать, что это тот, который вызывает все это; Я заставил не кэшировать, как объяснено здесь, и у меня больше нет проблем.
Попробуйте это перенаправить к референту
$this->Listing->id = $id; if ($this->Listing->save($listing)) { $this->Flash->success(__('"%s" is now active.', $listing['Listing']['title'])); // Redirect the referer $this->redirect( $this->referer() ); } else { $this->Flash->error(__('Problem activating')); }
Благодаря..!