非同步請求後根據結果window.open方式開啟新頁面,瀏覽器攔截彈窗問題
專案中出現一個問題,要求根據從後臺非同步請求後的結果開啟新的標籤頁,發現使用window.location.href=”地址”,該方法沒有問題,但是使用window.open開啟新頁面的時候會無效。
網上查詢原因:瀏覽器出於安全原因阻止了window.open開啟新頁面。
解決辦法:修改 非同步 為 同步 方法
$.ajax({
async:false, //該值為必須的
url:"請求地址",
type:"post",
success:function(data){
var data=JSON.parse(data),result=data.result;
if (result=="0"){
window.open("新的頁面");
}else{
…… //相關處理
}
}
});
以下這篇文章作者對多種情況問題進行了詳解:
http://www.cnblogs.com/master-zxc/p/6265019.html
相關推薦
非同步請求後根據結果window.open方式開啟新頁面,瀏覽器攔截彈窗問題
專案中出現一個問題,要求根據從後臺非同步請求後的結果開啟新的標籤頁,發現使用window.location.href=”地址”,該方法沒有問題,但是使用window.open開啟新頁面的時候會無效。
window.open開啟新視窗被瀏覽器攔截的處理方法
window.open是javascript函式,該函式的作用是開啟一個新視窗或這改變原來的視窗,如果你直接在js中呼叫window.open()函式去開啟一個新視窗,瀏覽器會攔截你,那麼如何避免呢。 注意,只有直接使用js呼叫 window.open(url); 開啟新視窗時,才會被攔截,如果是改變原理額
JS 以POST方式開啟新頁面
/* *功能: JS跳轉頁面,並已POST方式提交資料 *引數: URL 跳轉地址 PARAMTERS 引數 */ function ShowReport_Click() { var parames
js window.open()打開的頁面關閉後刷新父頁面
interval on() loop tin cti url 頁面 ren open function test(){ var winObj = window.open(URL); var loop = setInterval(function(){ if(
vue使用axios非同步請求後端資料的使用
Vue 原本有一個官方推薦的 ajax 外掛 vue-resource,但是自從 Vue 更新到 2.0 之後,官方就不再更新維護 vue-resource,並推薦axios,目前主流的 Vue 專案,都選擇 axios 來完成 ajax 請求。使用方法:方案一:改原型1.安
子視窗在用window.open()方法開啟後,如何關閉後重新整理父視窗
需求 在網站開發過程中,經常會有需要通過A頁面開啟B頁面,在B頁面操作完畢後,返回到A頁面並重新整理B頁面相關資訊。 解決方式 A頁面增加JavaScript公共變數進行全域性控制,通過啟動、停止監聽事件的方法監聽B頁面的工作狀態,根據B頁面的工作狀態做出對應事件響應。具
dvajs如何在effects非同步請求後,更新component state
探討該問題的原因:component 元件內import了一個彈窗元件,而這個元件內部的資料需要非同步獲取。還有一個屬性visible用於控制彈窗是否顯示。解決方案一: 利用dva model,將 visible 屬性設定在 model state 屬性上。在effect獲取
angularjs 中打開新的瀏覽器窗口(解決window.open(),瀏覽器攔截問題)
新窗口 ear ltr OS ati sco type ajax check 第一步:通過點擊事件,打開新窗口,並且傳遞參數 $scope.finalTrial = function(data){ var url = $state.href(‘content.check
在框架內用top.layer.open方式開啟的子視窗中呼叫父視窗方法
1.父視窗方法 function add() { //相關語句 } 2.父視窗開啟子視窗 ,其他屬性設定參考layer API top.layer.open({ id: “父視窗ID”, title: "自定義標題”, shade: 0.3, fix: fals
開啟新頁面的想法,代替window.open()有時會被瀏覽器阻攔的
$(".item").attr("href","myCompeteInfo.html?comUserId="+cpId);<a href="myCompeteInfo.html?comUserI
window.open(url)開啟連結被瀏覽器攔截解決方案
瀏覽器為了維護使用者安全和體驗,禁止在JS中直接使用window.open(url)來開啟新的連結(window.open(url,”_self”)改變當前的視窗是可以生效的)。下面採用幾種變通方
關於window.open()開啟新頁面會彈出Object頁面的幾點說明
1.如果是在前臺用超連結如<a href="javascript:window.open('webAdress.aspx ')"></a>開啟新頁面時會彈出一個內容頁為object的頁面,解決方案是呼叫下面的OpenWin()可以防止這種現象<
解決模式對話方塊和window.open開啟新頁面Session會丟失問題
模式對話方塊頁面通過超連結(_blank類)或window.open開啟新頁面Session會丟失 解決方法如下: 在使用showModalDialog時會經常出現Session失效的問題,尤其是在這樣的使用情況下: 首先window. showModalDialog,然後
新視窗window.open() url不顯示引數,後面頁面可以接收引數 ——後面頁面為jsp
前臺js: var iUserID=document.actionForm.user_id.value; var iTID=document.actionForm.ts_id.value; var szUrl="/new_window.jsp"; //可寫可不寫 var s
window下mysql建立新使用者,修改密碼以及授權——低版本
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' 原文:http://blog.sina.com.cn/s/blog_4fcd1ea30100z0fe.ht
這篇文章主要介紹了js使用post 方式開啟新視窗的相關資料,需要的朋友可以參考下
js中一般新開啟視窗很簡單直接window.open(url);就可以了,但是由於我希望傳遞引數到服務端,而且引數看起來很長一串,而且get方式的提交引數長度是有限制的,因此我有以下需求:1,js中實現post提交2,返回的頁面在新視窗顯示首先我是這麼做的:複製程式碼程式碼如下: $.ajax({
如何實現Echart不刷新頁面,多語言切換下的地圖數據重新加載,api請求數據加載,soketed數據實時加載
oca class 頁面 har lse setoption bsp div 監聽 可視化項目中經常用到ecahrt,各種異步加載,連接socket,多語言切換等問題,現在匯總一下: Ecahrt初始化,全局統一init,可以初始化為0,等待後續數據操作 1、如果是ap
VS中附加程序的方式除錯IIS頁面,以及設定斷點無效問題解決
以前除錯網站的時候都習慣是直接在解決方案中右鍵除錯——啟動新例項,後來發現這樣的缺點有: 1、啟動比較慢; 2、一些瀏覽器的request引數無法帶入; 3、不特殊指定啟動url的話,VS會將頁面載入到localhost,如http://localhost/test
weex通過navigator.push的方式跳轉頁面,頁面不顯示問題
在安卓裡,weex是使用Activity的category name來確定使用哪個Activity來渲染weex的。你需要自己定義Activity,如果是使用weexpack生成的android工程,那是設定好的。 <activity
php實現非同步方法之一(php對於curl或瀏覽器或ajax請求立即返回結果,返回結果後的php程式碼還能繼續執行)
如題: 服務端php程式碼如下:(瀏覽器和curl的請求都可以使用) //要輸出到瀏覽器的內容, nginx伺服器快取內容需要大於65536才能輸出 $str = str_repeat(' ', 65536); //告訴瀏覽器資料長度,瀏覽器接收到此長度資料後就不再接收資