亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Ajax URL 似乎被公司防火墻阻止

Ajax URL 似乎被公司防火墻阻止

PHP
小怪獸愛吃肉 2022-07-29 15:27:15
我正在開發一個加載另一個頁面的 ajax 函數,以繞過 Shopify 上的 iframe 限制。我的問題似乎是 URL 被阻止或標題被剝離。沒什么太復雜的,一切都按照我的需要通過以下方式工作:function get_report() {     var params = {        type: "GET",        url: "https://example.com/mypage.php",        dataType: 'html',        success:function(html) {                    $("#content_div").load("https://example.com/mypage.php");             },        error: function(XMLHttpRequest, textStatus) {               alert('Error : ' +XMLHttpRequest.response);             }     };              jQuery.ajax(params);};<button onclick="get_report()">Get</button><div id="content_div"></div>這可以通過公共網絡毫無問題地工作。但是,當我的客戶在公司防火墻后面使用它時,它無法加載頁面。經過進一步檢查,我的 php 所在的站點 URL 似乎也無法加載(我無法親自確認)。以下是該頁面的示例(如果相關):<?php $allowedOrigins = [    "https://myexample.com",    "https://myexample2.com"];if (array_key_exists('HTTP_ORIGIN', $_SERVER)) {     $origin = $_SERVER['HTTP_ORIGIN']; } else if (array_key_exists('HTTP_REFERER', $_SERVER)) {     $origin = $_SERVER['HTTP_REFERER']; } else {     $origin = $_SERVER['REMOTE_ADDR']; }if (in_array($origin, $allowedOrigins)) {header("Access-Control-Allow-Origin: " .$origin);   }setcookie('cross-site-cookie', 'name', ['samesite' => 'None', 'secure' => true]);?><!DOCTYPE HTML><html>  <head>    <meta charset="utf-8">    <title>TEST ALT IFRAME</title>  </head>  <body>        <div><?php echo "IT WORKS"; ?></div>  </body></html>我知道的:-通過訪問 chrome 控制臺步行客戶端,列出零錯誤- 當客戶端嘗試通過瀏覽器加載它時,URL 永遠不會加載-Ajax 從不給出錯誤響應- 無法聯系到網站管理員/IT 團隊(我已嘗試聯系他們至少 4 個月)我試過的:-最近添加了元標記和!DOCTYPE(以防萬一)- 使用 W3C 驗證 iframe 站點和 URL 站點- 確認 iframe 站點和 URL 站點都適用于 VPN 和公共網絡-檢查主要網絡過濾組(語義、古阿爾托等)的正確分類并設置為“安全”。我的問題:-我如何確定 URL 是否被阻止或 ajax 請求被剝離?- 如果網絡正在過濾我的 ajax URL,我是在死胡同還是有其他選擇?
查看完整描述

1 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

如何確定 URL 是否被阻止或 ajax 請求被剝離?


如果出現網絡錯誤,您可以在傳遞給 AJAX 調用的錯誤回調中對其進行響應:


function get_report() {

     var params = {

        type: "GET",

        url: "https://example.com/mypage.php",

        dataType: 'html',

        success:function(html) {

                    $("#content_div").load("https://example.com/mypage.php");

             },

        error: function(XMLHttpRequest, textStatus) {

               // inspect XMLHttpRequest to determine if network error occurred

               alert('Error : ' +XMLHttpRequest.response);

             }

     };


       jQuery.ajax(params);

};

如果網絡正在過濾我的 ajax URL,我是在死胡同還是有其他選擇?


您在應用程序級別處于死胡同,除非您愿意做一些真正令人費解的事情,例如擁有第三方服務,您知道不會有防火墻限制,請求頁面,然后將其轉發到可從該防火墻后面訪問的服務。所以簡短的回答是,不,不是真的(至少實際上不是)


查看完整回答
反對 回復 2022-07-29
  • 1 回答
  • 0 關注
  • 191 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號