asp ajax跨域提交數(shù)據(jù)
更新時(shí)間:2008年11月24日 21:37:59 作者:
需要一個(gè)js函數(shù).當(dāng)每出來(lái)一條記錄時(shí),就把ip替換為城市
星期五寫(xiě)了個(gè)分類(lèi)信息的小東東!在數(shù)據(jù)庫(kù)里只有ip地址,一般訪(fǎng)客不太清楚IP地址來(lái)源于哪個(gè)城市.如果在表里多一個(gè)列保存城市又沒(méi)有真實(shí)性可言.如果能把IP地址變成城市多好呀.當(dāng)然可以去down下數(shù)據(jù)庫(kù).可就為這個(gè)需求覺(jué)得有點(diǎn)浪費(fèi).還好了有好多網(wǎng)站提供查詢(xún).如果能把它的結(jié)果變成我的.問(wèn)題解決.
需要一個(gè)js函數(shù).當(dāng)每出來(lái)一條記錄時(shí),就把ip替換為城市:
<script type="text/javascript">
function queryAddress(strID){
try{
var qIp=document.getElementById("ip_"+strID);
var qUrl='http://ip.wanvee.cn/GetIp.ashx?ipstr='+qIp.firstChild.nodeValue;
var ajax=new Ajax.Request(qUrl,{
method:'get',
onSuccess:function(strResponse){
var resContent=strResponse.responseText;
var strStruct=resContent.substring(resContent.lastIndexOf(",")+1,resContent.length);
qIp.innerHTML=strStruct.split(" ")[0];
}
});
}catch(e){}
}
</script>
寫(xiě)一個(gè)測(cè)試用例:
<span id="ip_2">221.123.123.123</span><script type="text/javascript">queryAddress('2')</script>
<span id="ip_3">221.123.123.123</span><script type="text/javascript">queryAddress('3')</script>
<span id="ip_4">221.123.123.123</span><script type="text/javascript">queryAddress('4')</script>
羅列一下我找的幾個(gè)查詢(xún)網(wǎng)址:
http://www.ip.cn/getip.php?action=queryip&ip_url=221.123.123.123
http://ip.wanvee.cn/GetIp.ashx?ipstr=221.123.123.123
以上兩個(gè)只返回文本
http://www.youdao.com/smartresult-xml/search.s?type=ip&q=221.123.123.123
這個(gè)返回XML
寫(xiě)完了,意識(shí)到一個(gè)問(wèn)題.ajax不支持跨域提交.這也不成問(wèn)題:我們用腳本寫(xiě)一個(gè)頁(yè)面.用msxml的load方法裝載目標(biāo)網(wǎng)址!就可以搞到我們感興趣的數(shù)據(jù)!參考此貼:http://topic.csdn.net/t/20030619/12/1933920.html
js代碼稍微變一下:
function queryAddress(strID){
try{
var qIp=document.getElementById("ip_"+strID);
var qUrl='queryiplocal.asp?ip='+qIp.firstChild.nodeValue;
var ajax=new Ajax.Request(qUrl,{
method:'get',
onSuccess:function(strResponse){
qIp.innerHTML=strResponse.responseText;
}
});
}catch(e){}
}
下面的是ASP文件源碼:
<%
Response.ContentType="text/xml"
Response.Charset="GB2312"
Dim strIP,strPattern
strIP=Request.QueryString("ip")
strPattern="^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$"
If strIP="" Or IsNumeric(strIP) then
Response.End()
ElseIf Not serRegValidate(strPattern,strIP) then
Response.End()
End If
Dim strURL:strURL="http://www.youdao.com/smartresult-xml/search.s?type=ip&q="
set parser=Server.CreateObject("MSXML2.DOMDocument")
parser.async=false
parser.ValidateOnParse=true
parser.setProperty "ServerHTTPRequest",true
parser.load(strURL)
if parser.parseError.errorCode<>0 then
Response.End()
end if
set currNode=parser.selectNodes("http://product")
Dim strLocal:strLocal=currNode.item(0).selectSingleNode("location").text
Response.Write Split(strLocal," ")(0)
%>
需要一個(gè)js函數(shù).當(dāng)每出來(lái)一條記錄時(shí),就把ip替換為城市:
復(fù)制代碼 代碼如下:
<script type="text/javascript">
function queryAddress(strID){
try{
var qIp=document.getElementById("ip_"+strID);
var qUrl='http://ip.wanvee.cn/GetIp.ashx?ipstr='+qIp.firstChild.nodeValue;
var ajax=new Ajax.Request(qUrl,{
method:'get',
onSuccess:function(strResponse){
var resContent=strResponse.responseText;
var strStruct=resContent.substring(resContent.lastIndexOf(",")+1,resContent.length);
qIp.innerHTML=strStruct.split(" ")[0];
}
});
}catch(e){}
}
</script>
寫(xiě)一個(gè)測(cè)試用例:
<span id="ip_2">221.123.123.123</span><script type="text/javascript">queryAddress('2')</script>
<span id="ip_3">221.123.123.123</span><script type="text/javascript">queryAddress('3')</script>
<span id="ip_4">221.123.123.123</span><script type="text/javascript">queryAddress('4')</script>
羅列一下我找的幾個(gè)查詢(xún)網(wǎng)址:
http://www.ip.cn/getip.php?action=queryip&ip_url=221.123.123.123
http://ip.wanvee.cn/GetIp.ashx?ipstr=221.123.123.123
以上兩個(gè)只返回文本
http://www.youdao.com/smartresult-xml/search.s?type=ip&q=221.123.123.123
這個(gè)返回XML
寫(xiě)完了,意識(shí)到一個(gè)問(wèn)題.ajax不支持跨域提交.這也不成問(wèn)題:我們用腳本寫(xiě)一個(gè)頁(yè)面.用msxml的load方法裝載目標(biāo)網(wǎng)址!就可以搞到我們感興趣的數(shù)據(jù)!參考此貼:http://topic.csdn.net/t/20030619/12/1933920.html
js代碼稍微變一下:
復(fù)制代碼 代碼如下:
function queryAddress(strID){
try{
var qIp=document.getElementById("ip_"+strID);
var qUrl='queryiplocal.asp?ip='+qIp.firstChild.nodeValue;
var ajax=new Ajax.Request(qUrl,{
method:'get',
onSuccess:function(strResponse){
qIp.innerHTML=strResponse.responseText;
}
});
}catch(e){}
}
下面的是ASP文件源碼:
復(fù)制代碼 代碼如下:
<%
Response.ContentType="text/xml"
Response.Charset="GB2312"
Dim strIP,strPattern
strIP=Request.QueryString("ip")
strPattern="^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$"
If strIP="" Or IsNumeric(strIP) then
Response.End()
ElseIf Not serRegValidate(strPattern,strIP) then
Response.End()
End If
Dim strURL:strURL="http://www.youdao.com/smartresult-xml/search.s?type=ip&q="
set parser=Server.CreateObject("MSXML2.DOMDocument")
parser.async=false
parser.ValidateOnParse=true
parser.setProperty "ServerHTTPRequest",true
parser.load(strURL)
if parser.parseError.errorCode<>0 then
Response.End()
end if
set currNode=parser.selectNodes("http://product")
Dim strLocal:strLocal=currNode.item(0).selectSingleNode("location").text
Response.Write Split(strLocal," ")(0)
%>
您可能感興趣的文章:
- ie7下利用ajax跨域盜取cookie的解決辦法
- PHP中運(yùn)用jQuery的Ajax跨域調(diào)用實(shí)現(xiàn)代碼
- 利用iframe實(shí)現(xiàn)ajax跨域通信的實(shí)現(xiàn)原理(圖解)
- JQuery的Ajax跨域請(qǐng)求原理概述及實(shí)例
- Ajax跨域查詢(xún)完美解決通過(guò)$.getJSON()實(shí)現(xiàn)
- 完美解決AJAX跨域問(wèn)題
- 用iframe設(shè)置代理解決ajax跨域請(qǐng)求問(wèn)題
- jquery ajax跨域解決方法(json方式)
- 淺談Ajax跨域Session和跨域訪(fǎng)問(wèn)
相關(guān)文章
asp二維數(shù)組實(shí)例中的使用方法總結(jié)
筆者對(duì)asp編程不是很熟悉,而且好長(zhǎng)不用記不清了。這一次,需要保存asp的二維數(shù)組為asp文件,使用include 指令文件引用后,直接調(diào)用。使用過(guò)程中發(fā)現(xiàn)asp的二維數(shù)組相關(guān)資料很少,而且介紹簡(jiǎn)單模糊,現(xiàn)結(jié)合使用實(shí)例做個(gè)簡(jiǎn)單筆記。2023-06-06
asp生成不需要數(shù)據(jù)庫(kù)的中獎(jiǎng)碼
有一個(gè)思路是:將一批唯一中獎(jiǎng)碼,錄入的到數(shù)據(jù)庫(kù),中獎(jiǎng)時(shí),取出來(lái)一條,做一個(gè)標(biāo)記,把中獎(jiǎng)碼告訴2008-07-07
asp下實(shí)現(xiàn)字符串的補(bǔ)充fill()
在一個(gè)字符串前后補(bǔ)全另一字符串,在一個(gè)字符串前面補(bǔ)全另一字符串,在一個(gè)字符串后面補(bǔ)全另一字符串2008-02-02
防止網(wǎng)站被采集的理論分析以及十條方法對(duì)策
很多防采集方法在施行的時(shí)候需要考慮是否影響搜索引擎對(duì)網(wǎng)站的抓取,所以先來(lái)分析下一般采集器和搜索引擎爬蟲(chóng)采集有何不同。2009-04-04
ASP實(shí)現(xiàn)強(qiáng)制圖片下載函數(shù)
最近做的一個(gè)asp項(xiàng)目需要強(qiáng)制下載圖片,我在網(wǎng)上找了很多關(guān)于下載遠(yuǎn)程圖片的ASP代碼,但測(cè)試結(jié)果都不行。沒(méi)辦法只好自己操刀了,有什么紕漏的地方還請(qǐng)大家指出。2015-05-05
Microsoft JET Database Engine(0x80004005)未指定錯(cuò)誤的解決方法
今天在配置iis asp運(yùn)行環(huán)境的時(shí)候提示Microsoft JET Database Engine(0x80004005)未指定錯(cuò)誤,不過(guò)最后通過(guò)如下方法解決了,這里腳本之家小編特為大家分享下,方便需要的朋友2014-06-06

