溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ajax動態(tài)為a標簽href賦值不執(zhí)行跳轉(zhuǎn)的原因分析及解決方法

發(fā)布時間:2021-07-24 12:01:39 來源:億速云 閱讀:248 作者:chen 欄目:web開發(fā)

本篇內(nèi)容介紹了“ajax動態(tài)為a標簽href賦值不執(zhí)行跳轉(zhuǎn)的原因分析及解決方法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

由于一中考評系統(tǒng)要加入一個新的功能“調(diào)查問卷”,我想沿用別人做好的調(diào)查問卷,用別人的有一個好處就是:人家做的專業(yè),界面美化等非常人性化,但是它需要你每次設(shè)置完調(diào)查問卷后發(fā)布一下網(wǎng)址,客戶端訪問的每次都是變動的地址。

客戶端每次點擊“調(diào)查問卷”,就會跳轉(zhuǎn)到相應(yīng)頁面:
ajax動態(tài)為a標簽href賦值不執(zhí)行跳轉(zhuǎn)的原因分析及解決方法 
點擊“調(diào)查問卷”即進入調(diào)查問卷頁面:
ajax動態(tài)為a標簽href賦值不執(zhí)行跳轉(zhuǎn)的原因分析及解決方法 
我使用a 標簽,每次訪問管理員提交的“調(diào)查問卷”

復(fù)制代碼 代碼如下:


<li><a href="" onclick="meizz(this)">調(diào)查問卷</a></li>


點擊“調(diào)查問卷”,調(diào)用meizz函數(shù),該函數(shù)通過ajax調(diào)用返回要訪問的“調(diào)查問卷”網(wǎng)址:

復(fù)制代碼 代碼如下:


<script type="text/javascript" language="javascript">
function meizz(e) {
$.ajax({
//async:false, //設(shè)置ajax的同步
type: "get", //get方式
url: "../handler/QueryQuestionnaire.ashx",
//返回數(shù)據(jù)成功,將返回的json數(shù)據(jù)解析,顯示在課程信息列表中
success: function (strJson) {
//檢查后臺返回的數(shù)據(jù)
var dataArray = eval(strJson);
e.href = dataArray[0].Questionnaire;//要訪問的網(wǎng)址
},
//返回數(shù)據(jù)失敗,彈出錯誤顯示
error: function (XmlHttpRequest, textStatus, errorThrown) {
alert(XmlHttpRequest.responseText);
}
});
}
</script>


現(xiàn)象是 e.href如果放在函數(shù)的$.ajax之上可以運行,但是放到ajax里面綁定動態(tài)返回的地址,就不能運行了。經(jīng)過了郁悶,最終找到了答案:因為ajax默認調(diào)用是異步的,所以不等ajax調(diào)用處理回調(diào)函數(shù)為href賦值,就直接發(fā)起了href,在這里這時候href是空值。

解決方法:將ajax調(diào)用方法改為同步,聲明ajax調(diào)用方式為同步:

復(fù)制代碼 代碼如下:


$.ajax({
async:false, //設(shè)置ajax的同步
}


這樣href的執(zhí)行就必須等待function中ajax調(diào)用完成后才會觸發(fā),就得到了想要的結(jié)果。

“ajax動態(tài)為a標簽href賦值不執(zhí)行跳轉(zhuǎn)的原因分析及解決方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI