溫馨提示×

溫馨提示×

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

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

如何使用ajax加載的頁面中包含的javascript

發(fā)布時間:2021-09-01 16:51:25 來源:億速云 閱讀:111 作者:chen 欄目:web開發(fā)

本篇內(nèi)容主要講解“如何使用ajax加載的頁面中包含的javascript”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“如何使用ajax加載的頁面中包含的javascript”吧!

1、【使用iframe】
在需要加載的頁面中添加一個iframe,如下

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


<iframe  onload="javascript: close_ticket_onload()"></iframe>


onload中添加你所要調(diào)用的函數(shù),如果加載的頁面在彈出層中,此函數(shù)需要放在彈出此層的父頁面!

2、【使用eval】
如果使用innerHTML填充XMLHttp取得的數(shù)據(jù)。如:xxx.innerHTML=XMLHttp取得的數(shù)據(jù)
這樣是不會執(zhí)行JS,添加eval方法就ok了:如:xxx.innerHTML=eval(返XMLHttp取得的數(shù)據(jù));

以下是補充內(nèi)容:
舉例:用Microsoft.XMLHttp獲取數(shù)據(jù)后,數(shù)據(jù)為alert('測試')
xxx.innerHTML=返回的數(shù)據(jù)(也就是alert('測試'))
是不會執(zhí)行的,因為javascript已經(jīng)在頁面加載的時候執(zhí)行完了.在往里面加代碼,他就不會再執(zhí)行了.

開始的時候沒找到方法,只能用<iframe>來代替.但其實我覺得已經(jīng)不是我原來想要的"不刷新更新數(shù)據(jù)"的效果了..不過還是能用.

后來還是沒有放棄,再到google搜索一次,居然搜索出CSDN上的一篇貼子
xxx.innerHTML=eval(返回的數(shù)據(jù)); 如:alert('測試')
一試居然成功了,真是高興啊..真是太感謝這位高手了
于是搜索了關(guān)于Eval的用法

Javascript中Eval函數(shù)的使用 

簡介:等你需要動態(tài)創(chuàng)建語句的時候,你將會發(fā)現(xiàn)它非常獨特的作用,上網(wǎng)看了半天,找到些零散的內(nèi)容,想來也算非常全面的了,全部把它收集起來放在這里以備后用,也供大家討論學(xué)習(xí)使用。
【eval()函數(shù)】
JavaScript有許多小竅門來使編程更加容易。
其中之一就是eval()函數(shù),這個函數(shù)可以把一個字符串當(dāng)作一個JavaScript表達式一樣去執(zhí)行它。
舉個小例子:
var the_unevaled_answer = "2 + 3";
var the_evaled_answer = eval("2 + 3");
alert("the un-evaled answer is " + the_unevaled_answer + " and the evaled answer is " + the_evaled_answer);
如果你運行這段eval程序, 你將會看到在JavaScript里字符串"2 + 3"實際上被執(zhí)行了。
所以當(dāng)你把the_evaled_answer的值設(shè)成 eval("2 + 3")時, JavaScript將會明白并把2和3的和返回給the_evaled_answer。
這個看起來似乎有點傻,其實可以做出很有趣的事。比如使用eval你可以根據(jù)用戶的輸入直接創(chuàng)建函數(shù)。


附上測試代碼:

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


<script language=javascript>
function check_user_exists(form){
u_name=form.u_name.value;
if (u_name==null||u_name==''){
alert("請您輸入用戶名");
return false;
}
infoBoard=document.getElementById("checkInfo");
infoBoard.innerText='查詢中...';
myurl="http://localhost/ajax/form1.asp"
retCode=openUrl(myurl);
infoBoard.innerHTML=eval(retCode);

return;
}

function openUrl(url){
var objxml=new ActiveXObject("Microsoft.XMLHttp")
objxml.open("GET",url,false);
objxml.send();
retInfo=objxml.responseText;
if (objxml.status=="200"){
return retInfo;
}
else{
return "-2";
}
}
</script>

<form name=form1 action="XXXX.asp" method="post">
<input type=text name=u_name><span id="checkInfo" ></span><input type=button name=checkuser value="檢測用戶是否存

在" onClick="check_user_exists(this.form);">
</form>



form1.asp的內(nèi)容為

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


alert('內(nèi)容僅是測試,所以寫簡單點')

到此,相信大家對“如何使用ajax加載的頁面中包含的javascript”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(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