• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    asp ajax跨域提交数据
    星期五写了个分类信息的小东东!在数据库里只有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=queryipip_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=ipq=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=ipq="
    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)
    %>
    您可能感兴趣的文章:
    • ie7下利用ajax跨域盗取cookie的解决办法
    • PHP中运用jQuery的Ajax跨域调用实现代码
    • 利用iframe实现ajax跨域通信的实现原理(图解)
    • JQuery的Ajax跨域请求原理概述及实例
    • Ajax跨域查询完美解决通过$.getJSON()实现
    • 完美解决AJAX跨域问题
    • 用iframe设置代理解决ajax跨域请求问题
    • jquery ajax跨域解决方法(json方式)
    • 浅谈Ajax跨域Session和跨域访问
    上一篇:分页实现方法的性能比较
    下一篇:asp修改文件和文件夹的名字的代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    asp ajax跨域提交数据 asp,ajax,跨域,提交,数据,