ext4使用JSONP跨域验证
ext4支持发送jsonp请求,所以当跨域页面支持jsonp操作时,可以使用ext4.0的Ext.data.JsonP来实现跨域验证或者获取数据。
jsonp具体的跨域原理可以看这个:JSONP跨域
下面为一个简单使用ext4实现跨域验证的示例代码,返回客户端一些验证信息。只作为研究使用,安全性基本没有。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Stateful Array Grid Example</title> <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> <link rel="stylesheet" type="text/css" href="../shared/example.css" /> <script type="text/javascript" src="../../bootstrap.js"></script> <script type="text/javascript"> Ext.onReady(function () { var form = Ext.create('Ext.form.Panel', { width: 300, url: 'datax.asp', frame: true, title: 'JSONP Form', defaultType: 'textfield', border: false, renderTo: document.body, buttons: [{ text: 'Submit', handler: function () { var bf = form.getForm(); if (bf.isValid()) Ext.data.JsonP.request({ url: bf.url, params: bf.getValues(), success: function (data) { for (a in data) alert(a + '\n' + data[a]); }, failure: function (d) {alert('请求失败!') } }); } }], items: [{ fieldLabel: '用户名', allowBlank: false, name: 'name' }, { fieldLabel: '密 码', inputType: 'password', allowBlank: false, name: 'pwd' }] }); }); </script> </head> <body> </body> </html>
data.asp
<% response.Write request.QueryString("callback")&"({success:true,tm:'"&now&"',name:'"&request.QueryString("name")&"',name:'"&request.QueryString("pwd")&"'})" %>
相关文章 firefox/chrome动态设置script加载js文件失败
加支付宝好友偷能量挖...
原创文章,转载请注明出处:ext4使用JSONP跨域验证