2014-08-28 43 views
0

我有以下服務器端CURL後功能。 從ajax的價值發佈到下面的URL使用捲曲,我會得到迴應只有當有一些錯誤(如無效apikey提供等..)。使用ajax POST數據,然後重定向瀏覽器從服務器

如果一切順利,它應該重定向到另一個成功頁面。下面的url有一個動態表單,當轉換順利時,它會發布到另一個URL。 但是這不會重定向瀏覽器。爲什麼會發生?

無論如何,我可以按照下面的網址使用ajax POST時所做的重定向嗎?

如果它是一個正常的表單發佈它的工作。數據發佈到這個URL和這個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

當您從AJAX發送請求時,問題在於服務器將結果推回給您並且無法重定向。通過重定向URL回到客戶端AJAX的結果,然後使用:

window.location.href = url 
+0

重定向是不是純重定向的IND一樣,它不是一個靜態頁面,這是越來越redirected.The服務器正在做一個動態將一些數據形式發佈到url.Kind將數據發佈到支付網關,因此它顯示重定向後的支付網關頁面。 – Ajis 2014-08-28 11:20:09

+0

所以,如果我正確地理解了這一點,你應該不**通過ajax發送請求,而是通過GET定位器(與表單),所以你可以使用'header(「Location:xx」)' – 2014-08-28 11:26:38

相關問題