ajax的跨域请求实现,Ajax实现跨域请求

由于同源策略的限制,考虑到安全因素,浏览器不能跨域去请求数据。当然如果有跨域请求数据的需求,也是可以实现的。实现如下(tornado+ajax):

Server side:

class CrossDomainTestHandler(RequestHandler):

def get(self):

callback = self.get_argument("callback", "")

# Prepare data

data = "test"

result = callback + "(" + json.dumps({"data":data}) + ")"

self.write(result)

注意点:获取callback然后和需要返回的数据组装成指定的形式

client side:

var url = "http://test.com";

$.ajax({

type: "GET",

url: url,

dataType: 'jsonp',

data: {},

success: function (resp_data) {

// deal with resp data

},

error: function () {

alert("系统出现错误,请稍后再试");

}

});

以上简单的代码就可以实现跨域请求数据,但是跨越也会带来危害的,涉及到敏感数据尽量不使用跨域

同源策略(Same-Origin Policy):所谓同源是指,域名,协议,端口相同。不同源的客户端脚本(javascript、ActionScript)在没明确授权的情况下,不能读写对方的资源。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值