asp ajax跨域提交数据

 更新时间:2008年11月24日 21:37:59   作者:  
需要一个js函数.当每出来一条记录时,就把ip替换为城市
星期五写了个分类信息的小东东!在数据库里只有ip地址,一般访客不太清楚IP地址来源于哪个城市.如果在表里多一个列保存城市又没有真实性可言.如果能把IP地址变成城市多好呀.当然可以去down下数据库.可就为这个需求觉得有点浪费.还好了有好多网站提供查询.如果能把它的结果变成我的.问题解决.
需要一个js函数.当每出来一条记录时,就把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>

写一个测试用例:
<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>
罗列一下我找的几个查询网址:
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
以上两个只返回文本
http://www.youdao.com/smartresult-xml/search.s?type=ip&q=221.123.123.123
这个返回XML
写完了,意识到一个问题.ajax不支持跨域提交.这也不成问题:我们用脚本写一个页面.用msxml的load方法装载目标网址!就可以搞到我们感兴趣的数据!参考此贴: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("//product")
Dim strLocal:strLocal=currNode.item(0).selectSingleNode("location").text
Response.Write Split(strLocal," ")(0)
%>

相关文章

  • asp二维数组实例中的使用方法总结

    asp二维数组实例中的使用方法总结

    笔者对asp编程不是很熟悉,而且好长不用记不清了。这一次,需要保存asp的二维数组为asp文件,使用include 指令文件引用后,直接调用。使用过程中发现asp的二维数组相关资料很少,而且介绍简单模糊,现结合使用实例做个简单笔记。
    2023-06-06
  • ASP错误捕获的几种常规处理方式

    ASP错误捕获的几种常规处理方式

    ASP是非常简单的,以至于许多的开发者不会去思考错误处理,正确处理错误能够让你的应用程序更加合理。我看到过很多个用ASP编写的商业网站,大多数都忽略了错误处理
    2017-04-04
  • asp生成不需要数据库的中奖码

    asp生成不需要数据库的中奖码

    有一个思路是:将一批唯一中奖码,录入的到数据库,中奖时,取出来一条,做一个标记,把中奖码告诉
    2008-07-07
  • asp下实现字符串的补充fill()

    asp下实现字符串的补充fill()

    在一个字符串前后补全另一字符串,在一个字符串前面补全另一字符串,在一个字符串后面补全另一字符串
    2008-02-02
  • ASP常用源代码的总结(下)

    ASP常用源代码的总结(下)

    本文再和大家分享一些ASP程序设计中经常用到的源代码。适合初学者阅读。希望对你有帮助,一起来看吧!
    2015-10-10
  • 防止网站被采集的理论分析以及十条方法对策

    防止网站被采集的理论分析以及十条方法对策

    很多防采集方法在施行的时候需要考虑是否影响搜索引擎对网站的抓取,所以先来分析下一般采集器和搜索引擎爬虫采集有何不同。
    2009-04-04
  • ASP脚本的执行顺序详细说明

    ASP脚本的执行顺序详细说明

    IIS找到ASP文件,提交给ASP引擎(一般是ASP.DLL)处理等等,需要的朋友可以参考下
    2012-12-12
  • ASP实现强制图片下载函数

    ASP实现强制图片下载函数

    最近做的一个asp项目需要强制下载图片,我在网上找了很多关于下载远程图片的ASP代码,但测试结果都不行。没办法只好自己操刀了,有什么纰漏的地方还请大家指出。
    2015-05-05
  • ASP提速技巧 推荐

    ASP提速技巧 推荐

    ASP提速技巧 推荐...
    2007-01-01
  • Microsoft JET Database Engine(0x80004005)未指定错误的解决方法

    Microsoft JET Database Engine(0x80004005)未指定错误的解决方法

    今天在配置iis asp运行环境的时候提示Microsoft JET Database Engine(0x80004005)未指定错误,不过最后通过如下方法解决了,这里脚本之家小编特为大家分享下,方便需要的朋友
    2014-06-06

最新评论