首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JavaScript 跨域 AJAX 請求在 MyEclipse 內置瀏覽器失效的排查與解決

     編輯:程式設計綜合問答

現象

代碼在 Chrome 正常彈窗並請求,但在 MyEclipse 內置瀏覽器無反應。

根因分析

  1. 同源策略攔截:請求 `https://www.gdlottery.cn/...` 屬於跨域,MyEclipse 內置瀏覽器(基於 IE 內核或舊版 WebKit)默認阻止跨域 AJAX,且不支持 CORS 預檢。
  2. 彈窗攔截:內置瀏覽器可能攔截 `window.open` 或 `alert`。
  3. jQuery 版本兼容:舊內核不支持 `fetch`/`Promise`,需引入 Polyfill。

解決方案

  1. 以真實瀏覽器為準:內置瀏覽器僅供預覽佈局,**所有功能測試必須在 Chrome/Firefox/Edge 進行**。
  2. 配置代理解決跨域(開發期):在 `web.xml` 或 Spring MVC 配置 `ProxyServlet`,將 `/api/*` 轉發到目標域名。
  3. 生產環境:後端配置 `Access-Control-Allow-Origin` 或部署在同域下。

代碼健壯性建議

$.ajax({
    url: "https://www.gdlottery.cn/ref_cont.jspx",
    type: "POST",
    dataType: "jsonp", // 若對方支持 JSONP
    success: function(data) { $("#id").html(data); },
    error: function(xhr, status, err) { console.error(status, err); }
});

JavaScript 跨域 AJAX MyEclipse 內置瀏覽器失效,同源策略攔截,開發期代理配置,生產環境 CORS 方案。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved