asp jquery ajxs json和jsonp跨域请求

本文详细探讨了 Ajxs 进行 JSON 数据请求的实现,包括前台带参数的 Ajxs json 请求,以及利用 Jsonp 实现的跨域请求。同时,还介绍了如何处理跨域时的参数传递,并讨论了使用 eval 解析 JSON 对象的安全问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前台Ajxs json请求带参数

<script type="text/javascript">  
$.getJSON("test.asp",{user:'admin',pass:'123456'}, function(json){
	alert(json[0].user)
	alert(json[0].pass)
});
</script> 

后台接收并返回实例

user = request.QueryString("user")
pass = request.QueryString("pass")
add = "[{""user"":"""+ user +""",""pass"":"""+ pass +"""}]"
response.Write(add)

二、前台Ajxs json请求不带参数

<script type="text/javascript"> 
$.getJSON("test.asp", function(json){
	alert(json.length)
	alert(json[0].id)
	alert(json[0].name)
	alert(json[1].id)
	alert(json[1].name)
});
</script> 

后台接收并返回实例

dim add
add = "[{""id"":""123"",""name"":""admin""},{""id"":""456"",""name"":""bxsc""}]"
response.Write(add)


三、Ajxs jsonpt跨域请求

<script type="text/javascript">  
    $(document).ready(function(){
        $.ajax({
             url:'http://localhost:8080/test.asp',
             dataType:"jsonp",
             jsonp:"jsonpcallback",
             jsonpCallback: "jsonpcallback",
             success:function(data){
                 var $ul = $("<ul></ul>");
                 $.each(data,function(i,v){
                     $("<li/>").text(v["id"] + " " + v["name"]).appendTo($ul)
                 });
                 $("#res").append($ul);
             }
        });
    });</script><span id="res"></span>
后台

jsonp = request.QueryString("jsonpcallback")
str = "[{""id"":""1"",""name"":""测试1""},{""id"":""2"",""name"":""测试2""}]"
str = jsonp + "(" +str+")"
response.Write(str)

四、跨域带参数请求

<span id="myform"></span>
<script type="text/javascript">  
    $(document).ready(function(){
		$.getJSON("http://localhost:8080/test.asp?jsonpcallback=?",{user:'administrator',pass:'1314778'},function(json){
		    var msg = '';
		    if(json){
			   //msg = "<div id='result'><strong>提交成功!</strong><br/>姓名:"+json[0].user+"<br/>密码:"+json[0].pass+"</div>"
			   msg = "<div id='result'><strong>提交成功!</strong><br/>姓名:"+json.user+"<br/>密码:"+json.pass+"</div>"
			}else{
			   msg = "服务器忙,请稍候再试!";
			}
			$("#myform").after(msg);
		});


    });
</script> 

jsonp = request.QueryString("jsonpcallback")
user = request.QueryString("user")
pass = request.QueryString("pass")
'str = "[{""user"":"""+ user +""",""pass"":"""+ pass +"""}]"
str = "{""user"":"""+ user +""",""pass"":"""+ pass +"""}"
str = jsonp + "(" +str+")"
response.Write(str)


使用eval解析JSON对象

var json=eval_r("({sitename:'dreamdu',sitedate:new Date(1980, 12, 17, 12, 0, 0)})");
document.write(json.sitename);
document.write(json.sitedate);

结果:
dreamdu
Sat Jan 17 12:00:00 UTC+0800 1981
提示: 由于eval可以任意执行JavaScript代码,因此可能带来安全问题















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值