asp教程:关于jquery跨域彻底的解决方法
2012-08-27 09:10
375 查看
声明:本文转自http://www.aspbc.com/tech/showtech.asp?id=1193
经过一天的不断测试和探索,终于找到asp开发中彻底的解决jquery跨域的方法:
前几天也写了一篇文章:jquery跨域的方法 ,后来在应用的过程中发现,这只是jquery跨域的基础,服务器端也需要做一些处理。
首先介绍一下服务器端程序:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
response.Charset="utf-8"
callback=request("callback")
str="{""status"":1,"&_
" 'postPrice':["&_
"{'Productid':1,'Productname': '手机',""Price"":25.5,""num"": 1000,""url"":""http://www.baidu.com""},"& _
"{""Productid"":2,""Productname"": ""相机"",""Price"":75,""num"": 2000,""url"":""http://www.aspbc.com""}"& _
"]}"
response.write callback&"("&str&")"
%>
注意一下这里的: callback=request("callback")和下面的输出response.write callback&"("&str&")",这是jquery服务器端要增加的内容,用来返回给客户端的。
客户端代码:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jquery跨域的彻底解决方法</title>
<script type="text/javascript" src="scripts/jquery-1.6.2.min.js" ></script>
<script type="text/javascript">
$(function(){
$.getJSON("http://192.168.105.81/test/re.asp?callback=?", { name: "John",t:Math.random() },
function(data){
var status=data.status;
if(status==1){
var str='';
$.each(data.postPrice,function(i){
m=data.postPrice[i];
str+='<ol> ';
str+='<li>产品ID:'+m.Productid+'</li>';
str+='<li>产品名称:'+m.Productname+'</li>';
str+='<li>价格:'+m.Price+'元</li>';
str+='<li>数量:'+m.num+'</li>';
str+='<li>网址:'+m.url+'</url>';
str+='</ol>';
}
);
$("#div1").html(str);
}
}
);
});
</script>
</head>
<body>
<div id="div1"></div>
</body>
</html>
这样就行了。
本来我发现服务器端生成的json字符串前面有一些jquery+字符串的东西,应该改变了json的格式,但到了客户端的时候,我们得到了data这个值,这个data中应该有服务器端子的那些jquery字符串的。但这个就会被jquery自动处理掉,不需要我们处理这个,我们只需要按平时的习惯去获取json字符串我们要的内容就行了。
是不是挺好用的?
经过一天的不断测试和探索,终于找到asp开发中彻底的解决jquery跨域的方法:
前几天也写了一篇文章:jquery跨域的方法 ,后来在应用的过程中发现,这只是jquery跨域的基础,服务器端也需要做一些处理。
首先介绍一下服务器端程序:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
response.Charset="utf-8"
callback=request("callback")
str="{""status"":1,"&_
" 'postPrice':["&_
"{'Productid':1,'Productname': '手机',""Price"":25.5,""num"": 1000,""url"":""http://www.baidu.com""},"& _
"{""Productid"":2,""Productname"": ""相机"",""Price"":75,""num"": 2000,""url"":""http://www.aspbc.com""}"& _
"]}"
response.write callback&"("&str&")"
%>
注意一下这里的: callback=request("callback")和下面的输出response.write callback&"("&str&")",这是jquery服务器端要增加的内容,用来返回给客户端的。
客户端代码:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jquery跨域的彻底解决方法</title>
<script type="text/javascript" src="scripts/jquery-1.6.2.min.js" ></script>
<script type="text/javascript">
$(function(){
$.getJSON("http://192.168.105.81/test/re.asp?callback=?", { name: "John",t:Math.random() },
function(data){
var status=data.status;
if(status==1){
var str='';
$.each(data.postPrice,function(i){
m=data.postPrice[i];
str+='<ol> ';
str+='<li>产品ID:'+m.Productid+'</li>';
str+='<li>产品名称:'+m.Productname+'</li>';
str+='<li>价格:'+m.Price+'元</li>';
str+='<li>数量:'+m.num+'</li>';
str+='<li>网址:'+m.url+'</url>';
str+='</ol>';
}
);
$("#div1").html(str);
}
}
);
});
</script>
</head>
<body>
<div id="div1"></div>
</body>
</html>
这样就行了。
本来我发现服务器端生成的json字符串前面有一些jquery+字符串的东西,应该改变了json的格式,但到了客户端的时候,我们得到了data这个值,这个data中应该有服务器端子的那些jquery字符串的。但这个就会被jquery自动处理掉,不需要我们处理这个,我们只需要按平时的习惯去获取json字符串我们要的内容就行了。
是不是挺好用的?
相关文章推荐
- 2003下不能运行asp程序的彻底解决方法
- asp.net 2.0关于NavigateUrl中绑定Eval()方法时出现"服务器标记的格式不正确"的解决方法
- jquery dwr 关于$符冲突解决方法
- ASP.NET 中关于 System.OutOfMemoryException 的问题与解决方法
- 关于Iframe如何跨域访问Cookie和Session的解决方法
- jQuery 跨域访问问题解决方法
- 关于asp.net页面按钮失效的解决方法。
- 关于JS的Ajax bf52 方法导致跨域问题的解决办法
- jQuery 跨域访问问题解决方法
- 关于Meteor的microscope教程中《用户系统》遇到问题解决方法
- 关于JQuery 中$.ajax函数利用jsonp实现Ajax跨域请求ASP.NET的WebService成功获取数据的案例
- 关于jquery跨域请求方法
- 关于使用jquery时,ie8下提示对象不支持的属性或方法的解决办法
- 关于asp.net导出Excel出现“异常来自 HRESULT:0x800A03EC”错误解决方法
- 关于IIS+ASP.net 中客户端访问出现的用户和密码提示解决方法
- 关于asp.net 网站网站发布时提示:错误 27 对路径 AppData\Local\Temp\~632b\bin\App_Code.compil的解决方法
- 关于解决jQuery方法option回调问题
- ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
- ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
- 关于JQuery的serialize方法.让我崩溃一天的问题解决了