主页 > 知识库 > asp ajax跨域提交数据

asp ajax跨域提交数据

热门标签:电子围栏 服务器配置 银行业务 团购网站 科大讯飞语音识别系统 Mysql连接数设置 阿里云 Linux服务器
星期五写了个分类信息的小东东!在数据库里只有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 ajax跨域提交数据》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266