使用ajax POST数据,然后从服务器重定向浏览器

时间:2014-08-28 11:09:47

标签: php jquery ajax redirect curl

我有以下服务器端CURL发布功能。 从ajax中,使用curl将值发布到以下URL,只有在出现错误时才会得到响应(如提供的无效apikey等)。

如果一切顺利,它应该重定向到另一个成功页面。下面的url有一个动态表单,当everthing顺利时,它会发布到另一个URL。 但这并没有重定向浏览器。为什么会发生这种情况?

无论如何我在使用ajax POST时可以按照以下URL进行重定向吗?

如果它是一个正常形式的帖子它工作。数据发布到这个网址,这个网址终端有一个动态表单,提交到另一个我将被带到的URL。

<?php
    $url = 'https://exampletestdomain.com/js_opencart/submit';
    $curl = curl_init($url);

            curl_setopt($curl, CURLOPT_PORT, 443);
            curl_setopt($curl, CURLOPT_HEADER, 0);
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($curl, CURLOPT_FORBID_REUSE, 1);
            curl_setopt($curl, CURLOPT_FRESH_CONNECT, 1);
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
            curl_setopt($curl, CURLOPT_TIMEOUT, 10);
            curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data, '', '&'));

            $response = curl_exec($curl);

            $json = array();

            if (curl_error($curl)) {
                $json['error'] = 'CURL ERROR: ' . curl_errno($curl) . '::' . curl_error($curl);

                $this->log->write('AUTHNET AIM CURL ERROR: ' . curl_errno($curl) . '::' . curl_error($curl));
            } elseif ($response) {
            }

    ?>

1 个答案:

答案 0 :(得分:0)

当您从AJAX发送请求时,问题是服务器将结果推回给您并且无法重定向。将重定向url作为AJAX的结果传递回客户端,然后使用:

window.location.href = url