我有以下服务器端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) {
}
?>
答案 0 :(得分:0)
当您从AJAX发送请求时,问题是服务器将结果推回给您并且无法重定向。将重定向url作为AJAX的结果传递回客户端,然后使用:
window.location.href = url