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跨域验证

评论(0)Web开发网
阅读(767)喜欢(0)extjs开发技巧