php - 谷歌浏览器显示等待缓存

标签 php google-chrome ssl https browser-cache

我在我的网站上使用银行支付网关为我的用户付款。
它基于 PHP 和 SOAP。
最近在chrome(84.x)的最新更新和回调函数中,状态栏反复显示“waiting for cache”。
FF和IE以及以前版本的chrome都没有问题。
如果我删除浏览缓存和 cookie,它可以解决一次付款的 chrome 问题。但是第二次付款的问题又开始了。
这完全是一个烦人的问题。
这是一个简化的代码:

function call() {
    ini_set ( "soap.wsdl_cache_enabled", "0" );
    
    
    $PIN = '1111';
    $wsdl_url = "https://URL/NewIPGServices/Sale/SaleService.asmx?WSDL";
    $site_call_back_url = "http://URL1/confirm.php";
    
    $amount = $_POST['Amount'] ? $_POST['Amount'] : "1000" ;
    $order_id = $_POST['OrderId'] ? $_POST['OrderId'] : "500";
    
    $params = array (
            "LoginAccount" => $PIN,
            "Amount" => $amount,
            "OrderId" => $order_id,
            "CallBackUrl" => $site_call_back_url 
    );
    
    $client = new SoapClient ( $wsdl_url );
    
    try {
        $result = $client->SalePaymentRequest ( array (
                "requestData" => $params 
        ) );
        if ($result->SalePaymentRequestResult->Token && $result->SalePaymentRequestResult->Status === 0) {
            header ( "Location: https://URL/NewIPG/?Token=" . $result->SalePaymentRequestResult->Token ); /* Redirect browser */
            exit ();
        }
        elseif ( $result->SalePaymentRequestResult->Status  != '0') {
            $err_msg = "(<strong> error : " . $result->SalePaymentRequestResult->Status . "</strong>) " .
             $result->SalePaymentRequestResult->Message ;
        } 
    } catch ( Exception $ex ) {
        $err_msg =  $ex->getMessage()  ;
    }
}

function callback() {

    $PIN = '1111';
    $wsdl_url = "https://URL/NewIPGServices/Confirm/ConfirmService.asmx?WSDL";
    
    $Token = $_REQUEST ["Token"];
    $status = $_REQUEST ["status"];
    $OrderId = $_REQUEST ["OrderId"];
    $TerminalNo = $_REQUEST ["TerminalNo"];
    $Amount = $_REQUEST ["Amount"];

    if ( $status == 0) {
        
        $params = array (
                "LoginAccount" => $PIN,
                "Token" => $Token 
        );
        
        $client = new SoapClient ( $wsdl_url );
        
        try {
            $result = $client->ConfirmPayment ( array (
                    "requestData" => $params 
            ) );
            if ($result->ConfirmPaymentResult->Status != '0') {
                $err_msg = "(<strong> error : " . $result->ConfirmPaymentResult->Status . "</strong>) " .
                 $result->ConfirmPaymentResult->Message ;
            }
        } catch ( Exception $ex ) {
            $err_msg =  $ex->getMessage()  ;
        }
    }elseif($status) {
        $err_msg = "status " . $status;
    }else {

        $err_msg = "no response " ; echo $err_msg;
    }
}
编辑 : 我注意到在完成付款后,chrome 进入最后 else并显示“无响应”,但所有其他浏览器都成功返回。
重要编辑 : 是因为从 ' https ' 从银行 URL 到 ' 的协议(protocol)http ' 我网站的协议(protocol)。看来,这是新的 chrome 更新中的错误,或者他们想强制网站使用 SSL。
几分钟前我和银行核实过,很多网站都有这个问题。
我不知道是否有解决方案或者我们应该等待下一个 chrome 版本或者我们必须使用 SSL
编辑 :我将我的网站更改为 https 协议(protocol),但 chrome 仍然存在问题!

最佳答案

我收到 waiting for cache来自多个站点的消息,直到它们最终超时。
尽管这很荒谬,但对我来说,解决方案是使用 safari 直到 chrome 随机修复。

关于php - 谷歌浏览器显示等待缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63534445/

相关文章:

php - 用于统计目的的 URL 唯一性

html - 浏览器什么时候添加 CSS 样式作为属性,即使这些没有明确指定?

Javascript OOP 延迟调用

scala - REST Lift 项目中的 SSL,从哪里开始?

ruby - 库未加载 :/opt/local/lib/libssl. 1.0.0.dylib (LoadError)

php - Javascript 或 Jquery : Getting key inputs without focus

php - 图像是否已加载并保持隐藏状态,或者它们是否未加载到隐藏的 div 中?

php - 没有结果显示在下一页的分页

javascript - 如何从 Angular 模板(html 文件)调试对象

ssl - 始终选择 Nginx 默认服务器 - 多个 SSL 服务器