javascript ajax獲取信息功能代碼
更新時間:2010年04月22日 23:15:43 作者:
本文提供一個思路,通過客戶端與服務(wù)端獲取信息,具體什么意思大家自己琢磨,本文只提供Client端代碼,Server端代碼自己去寫,什么語言均可以!
Client端代碼如下:
<html>
<head>
<script language="javascript"><!--
function getit(){
if(document.getElementById("url").value==""){
alert("Enter url!");
return false;
}
if(document.getElementById("count").value==""){
alert("Enter count!");
return false;
}
if(document.getElementById("num").value==""){
alert("Enter num!");
return false;
}
if(document.getElementById("end").value==""){
alert("Enter end!");
return false;
}
var url=document.getElementById("url").value;
var count=document.getElementById("count").value;
var num=document.getElementById("num").value;
var end=document.getElementById("end").value;
sendCall(url,count,num,end);
}
function sendCall(url,count,num,end) {
if (parseInt(num)>=parseInt(end)){return false;}
var nurl=url+"?count="+count+"&num="+num;
//alert(nurl);
//window.open(nurl);
var xmlHttp;
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
//解決FF中跨域問題
try{
netscape.security.PrivilegeManager.enablePrivilege( "UniversalBrowserRead ");
} catch (e) {
alert( "Permission UniversalBrowserRead denied. ");
}
}
xmlHttp.onreadystatechange = function() {
if(xmlHttp.readyState == 4 && xmlHttp.status ==200){
var str = xmlHttp.responseText;
var msg=document.getElementById("getmsg");
if(str.match(/thereisnothing/)) {
msg.innerHTML = "數(shù)據(jù)已經(jīng)完成傳輸!"
}else{
//msg.innerHTML =str;
write(str,count,num);
var next=parseInt(num)+parseInt(count);
sendCall(url,count,next,end);
}
}
}
xmlHttp.open('POST', nurl, true);
//xmlHttp.setRequestHeader("Content-Type", "text/xml");
//xmlHttp.setRequestHeader("charset", "utf-8");
xmlHttp.send(null);
}
function write(str,count,num){
var fso = new ActiveXObject("Scripting.FileSystemObject");
var end = parseInt(num)+parseInt(count);
var name = "e:\\"+num+"-"+end+".txt";
var a = fso.CreateTextFile(name, true);
a.WriteLine(str);
a.Close();
//alert("我已經(jīng)在你的E盤根目錄下生成了一個"+name+"的文件!");
document.getElementById("num").value=end;
var msg=document.getElementById("getmsg");
msg.innerHTML="我已經(jīng)在你的E盤根目錄下生成了一個"+name+"的文件!";
}
// -->
</script>
</head>
<body>
<div>
Enter the setup then get the info:
</div>
<input id="url" value="http://www.oldjun.com/test.asp" size="50">
<input type=button value="開始" onclick="javascript:getit();"><br><br>
<div id="getmsg">
</div>
<br><br>
→ how many once:<input name="count" id="count" type="text" value="1000" size="30" /><br><br>
→ begin num :<input name="num" id="num" type="text" value="0" size="30" /><br><br>
→ end num :<input name="end" id="end" type="text" value="100" size="30" /><br><br>
</body></html>
功能可以改進(jìn),改進(jìn)以后防止網(wǎng)絡(luò)擁堵導(dǎo)致的獲取信息失敗而造成的不連續(xù),可以改進(jìn)成實現(xiàn)很多功能的工具,比如刷票...自己發(fā)揮,我只提供思路~
復(fù)制代碼 代碼如下:
<html>
<head>
<script language="javascript"><!--
function getit(){
if(document.getElementById("url").value==""){
alert("Enter url!");
return false;
}
if(document.getElementById("count").value==""){
alert("Enter count!");
return false;
}
if(document.getElementById("num").value==""){
alert("Enter num!");
return false;
}
if(document.getElementById("end").value==""){
alert("Enter end!");
return false;
}
var url=document.getElementById("url").value;
var count=document.getElementById("count").value;
var num=document.getElementById("num").value;
var end=document.getElementById("end").value;
sendCall(url,count,num,end);
}
function sendCall(url,count,num,end) {
if (parseInt(num)>=parseInt(end)){return false;}
var nurl=url+"?count="+count+"&num="+num;
//alert(nurl);
//window.open(nurl);
var xmlHttp;
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
//解決FF中跨域問題
try{
netscape.security.PrivilegeManager.enablePrivilege( "UniversalBrowserRead ");
} catch (e) {
alert( "Permission UniversalBrowserRead denied. ");
}
}
xmlHttp.onreadystatechange = function() {
if(xmlHttp.readyState == 4 && xmlHttp.status ==200){
var str = xmlHttp.responseText;
var msg=document.getElementById("getmsg");
if(str.match(/thereisnothing/)) {
msg.innerHTML = "數(shù)據(jù)已經(jīng)完成傳輸!"
}else{
//msg.innerHTML =str;
write(str,count,num);
var next=parseInt(num)+parseInt(count);
sendCall(url,count,next,end);
}
}
}
xmlHttp.open('POST', nurl, true);
//xmlHttp.setRequestHeader("Content-Type", "text/xml");
//xmlHttp.setRequestHeader("charset", "utf-8");
xmlHttp.send(null);
}
function write(str,count,num){
var fso = new ActiveXObject("Scripting.FileSystemObject");
var end = parseInt(num)+parseInt(count);
var name = "e:\\"+num+"-"+end+".txt";
var a = fso.CreateTextFile(name, true);
a.WriteLine(str);
a.Close();
//alert("我已經(jīng)在你的E盤根目錄下生成了一個"+name+"的文件!");
document.getElementById("num").value=end;
var msg=document.getElementById("getmsg");
msg.innerHTML="我已經(jīng)在你的E盤根目錄下生成了一個"+name+"的文件!";
}
// -->
</script>
</head>
<body>
<div>
Enter the setup then get the info:
</div>
<input id="url" value="http://www.oldjun.com/test.asp" size="50">
<input type=button value="開始" onclick="javascript:getit();"><br><br>
<div id="getmsg">
</div>
<br><br>
→ how many once:<input name="count" id="count" type="text" value="1000" size="30" /><br><br>
→ begin num :<input name="num" id="num" type="text" value="0" size="30" /><br><br>
→ end num :<input name="end" id="end" type="text" value="100" size="30" /><br><br>
</body></html>
功能可以改進(jìn),改進(jìn)以后防止網(wǎng)絡(luò)擁堵導(dǎo)致的獲取信息失敗而造成的不連續(xù),可以改進(jìn)成實現(xiàn)很多功能的工具,比如刷票...自己發(fā)揮,我只提供思路~
相關(guān)文章
HTTP狀態(tài)代碼及其定義解析 Ajax捕捉回調(diào)錯誤參考
當(dāng)用戶試圖通過 HTTP 訪問一臺正在運(yùn)行 Internet 信息服務(wù) (IIS) 的服務(wù)器上的內(nèi)容時,IIS 返回一個表示該請求的狀態(tài)的數(shù)字代碼。狀態(tài)代碼可以指明具體請求是否已成功,還可以揭示請求失敗的確切原因2013-11-11通過Ajax手動解決WordPress WP-PostViews不計數(shù)的問題
這篇文章主要介紹了通過Ajax手動解決WordPress WP-PostViews不計數(shù)的問題的相關(guān)資料,需要的朋友可以參考下2016-01-01ajax獲得json對象數(shù)組 循環(huán)輸出數(shù)據(jù)的方法
今天小編就為大家分享一篇ajax獲得json對象數(shù)組 循環(huán)輸出數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08jQuery AJAX中readyState與status的區(qū)別與聯(lián)系
這篇文章主要介紹了 jQuery AJAX中readyState與status的區(qū)別與聯(lián)系,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03Jquery具體實例介紹AJAX何時用,AJAX應(yīng)該在什么地方用
ajax是一個非常方便的工具,具有和表單相同的功能完成前端和后臺之間的交互,起到局部刷新的作用,那么,大家知道ajax該何時用,用在哪些地方嗎?下面小編給大家分享Jquery具體實例介紹AJAX何時用,AJAX應(yīng)該在什么地方用,需要的朋友可以參考下2015-10-10