php - pjax 提交表单 URL 重定向

标签 php javascript codeigniter pushstate pjax

PJAX的文档指出 Github 在 submitting a Gist form 中使用 $.pjax.submit() . Github 很好地实现了 ajax 表单提交的一个理想特性,即 URL 从表单的 action 重定向到一个新创建的 URL(在本例中,该 URL 包含新创建的服务器端创建的 gist ID)。

例如,从此:

https://gist.github.com/gists //  form action

为此:

https://gist.github.com/tim-peterson/5019589 //assume this ID is generated server side

我已经在我的网站上以类似的方式工作(即,页面本身重定向到相当于 https://gist.github.com/tim-peterson/5019589 的位置)但我无法重定向 URL(它保持为 https://gist.github.com/gists )。

这完全是服务器端问题(设置 header ?)还是 pjax 中有我遗漏的东西?我使用的是我今天下载的 pjax 版本,所以我使用的不可能是错误版本的 pjax。

最佳答案

你找到解决办法了吗? 我有类似的问题。

基本上您需要在响应 header 中设置 X-PJAX-URL 属性。 它的值应该与请求 URL 相同。

在 Laravel 中,我是这样做的......

App::after(function($request, $response)
{
  $response->headers->set('X-PJAX-URL', $request->getRequestUri());
});

关于php - pjax 提交表单 URL 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15041180/

相关文章:

php - 如何使用mysql在php代码中获取主键错误?

javascript - 我的 JavaScript 似乎无法运行

javascript - 使用 jQuery 在父窗口和子弹出窗口之间传递数据

php - 为什么这个 PHP activerecord 关联不起作用?

php - 在 codeigniter 中添加两个不同的查询

php - 在动态字段中显示提取数据

php - 删除php中字符串模式之后的所有内容

php - 在 Qt C++ 中使用 openssl 解码和编码文本

javascript - 如何访问应用程序内的 package.json 数据?

php - 为什么 PHP 中的转换和比较比 is_* 更快?