我的页面有三个不同的部分。第一个是按钮,第二个是JS函数(AJAX请求),最后一个是由AJAX请求调用的PHP脚本。
PHP脚本应该调用Web服务来处理数据。以下是PHP脚本的内容:
<?php
if(isset($_POST['forminfos'])){
$client = new SoapClient('URL');
$client->Function();
header('Location: localhost/page.php');
}
?>
&#13;
页面未被重定向但是当我检查控制台时,我可以看到有一个带有localhost / page.php内容的GET。
//on button sumbit
var data=$('#forminfos').serializeArray();
$.ajax({
url: '../func.php',
data:data,
type: 'POST',
dataType: 'json',
success: function () {
},
error: function(){
}
});
&#13;
我希望将带有AJAX请求的页面重定向到&#39; localhost / page.php&#39;但事实并非如此。
答案 0 :(得分:2)
问题是您正在进行重定向的文件是由AJAX调用的。这意味着虽然您正在重定向该请求页面,但是您从中获取ajax请求的实际页面未被重定向。 ajax请求的结束会导致您调用的脚本重定向而不是请求的页面。
如果您的唯一目标是到达目标(localhost / page.php),那么您可以等待AJAX请求完成并执行:
window.location.href = "localhost/page.php"
这使用javascript来重定向页面,以成功完成您的AJAX请求。
进一步阅读: