PHP重定向不更改页面

时间:2016-05-27 13:08:56

标签: php

我的页面有三个不同的部分。第一个是按钮,第二个是JS函数(AJAX请求),最后一个是由AJAX请求调用的PHP脚本。

PHP脚本应该调用Web服务来处理数据。以下是PHP脚本的内容:



<?php 
    if(isset($_POST['forminfos'])){  

        $client = new SoapClient('URL');
        $client->Function();
        header('Location: localhost/page.php');
    }
?>
&#13;
&#13;
&#13;

页面未被重定向但是当我检查控制台时,我可以看到有一个带有localhost / page.php内容的GET。

enter image description here

&#13;
&#13;
//on button sumbit
var data=$('#forminfos').serializeArray();
$.ajax({
    url: '../func.php',  
    data:data,
    type: 'POST', 
    dataType: 'json', 
    success: function () { 
                 
    },
    error: function(){
                 
    }
});
&#13;
&#13;
&#13;

我希望将带有AJAX请求的页面重定向到&#39; localhost / page.php&#39;但事实并非如此。

1 个答案:

答案 0 :(得分:2)

问题是您正在进行重定向的文件是由AJAX调用的。这意味着虽然您正在重定向该请求页面,但是您从中获取ajax请求的实际页面未被重定向。 ajax请求的结束会导致您调用的脚本重定向而不是请求的页面。

如果您的唯一目标是到达目标(localhost / page.php),那么您可以等待AJAX​​请求完成并执行:

window.location.href = "localhost/page.php"

这使用javascript来重定向页面,以成功完成您的AJAX请求。

进一步阅读:

Basic JS docs about window

Difference between window location and window replace