服务器立即返回到 ajax 帖子,而不执行重定向代码
The server immediately return to the ajax post without executing a code for redirect
我在这里要做的是在提交时通过jquery ajax post将表单值传递给控制器中的函数。
下面是视图的代码
<form action="<?php echo site_url('products/paypal')?>" method="post" id="checkoutForm" name="checkoutForm">
...
</form>
<script type="text/javascript">
...
$.post($('#checkoutForm').attr('action'), $('#checkoutForm').serialize());
...
</script>
控制器将处理 post 变量,然后执行此行代码$this->paypal->pay();
将用户重定向到其他 url。下面是控制器(产品.php)中函数的代码
public function paypal() {
//... paypal configuration
$this->paypal->pay(); //Proccess the payment
}
下面是库中函数的代码 (PayPal.php)
function pay(){
#Convert the array to url encode variables
$vars = http_build_query($this->config);
if($this->config['production'] == TRUE){
header('LOCATION:'.$this->production_url.$vars);
}else{
header('LOCATION:'.$this->sandbox_url.$vars);
}
}
问题是用户没有被重定向。这个可能有什么问题?
提前谢谢。
如果您从客户端提交 Ajax 表单,您将永远无法从服务器进行浏览器重定向。这就是常规请求和Ajax请求之间的区别。要么需要定期提交表单,要么需要在 Ajax 调用返回后更改客户端上的窗口位置。
相关文章:
- AngularJS在页面重定向上执行控制器方法
- 如何区分用户单击链接和在 UIWebView 中执行自动重定向的页面
- 如何单击将执行但不重定向的链接
- Javascript在Rails重定向后未执行
- Jquery在页面重定向后执行鼠标单击
- Ajax等待重定向以完成执行
- 子操作不允许在我的模态形式中执行重定向操作
- jQuery:$.ajax() 重定向到其 URL 表单操作参数,而不是对表单操作执行 AJAX 请求
- 如何添加将通过执行 JavaScript 代码重定向到另一个页面的动态操作
- 退出弹出重定向,但仅在退出时执行,而不是在单击页面上的任何其他 html 重定向按钮时执行
- 在所有浏览器上执行没有扩展名.js外部脚本重定向
- 创建一个超链接(或按钮),用于执行 python 脚本,然后在脚本完成时重定向
- 服务器立即返回到 ajax 帖子,而不执行重定向代码
- 重定向完成后执行 JavaScript
- 单击按钮执行PHP文件,然后重定向
- 想要关闭弹出窗口并在控制器上执行 PHP 脚本后重定向到相应的页面,没有任何事件
- 类似AJAX的按钮重定向我,而不是执行AJAX调用
- 重定向后执行一个函数-javascript
- 检测浏览器是否正在执行重定向
- 如何在NodeJS中像.htaccess文件一样执行重定向