Ext3跨域ScriptTagProxy使用

1.Ext3跨域问题需要用ScriptTagProxy解决,官网查询例子如下

Ext3跨域ScriptTagProxy使用_第1张图片

2.如果是增删改则如下,JsonStore不定义数据格式

3.可以用chrome看到跨域访问的原理:服务端传送过来的不是json而是js文件

Ext3跨域ScriptTagProxy使用_第2张图片

4.关于load的回调处理

new Ext.data.JsonStore({
		id: 'mytableUpdateStore',
		root : 'code',
		fields : [{name : 'code'}],
		autoDestroy : true,
		proxy: new Ext.data.ScriptTagProxy({
                    url: 'http://localhost:8080/server/mytable/update.do'
                })
	});
function doAfterEdit(event) {
	Ext.StoreMgr.get('mytableUpdateStore').load({
		params : {
			uuid : event.record.get('uuid'),
			field : encodeURI(event.field),
			newValue : encodeURI(event.value)
		},
		callback : function(r, options, success) {
			if(success) {
				event.record.commit();
			}
			else {
				Ext.MessageBox.alert('提示', '更新错误,请联系管理员!', null);
			}
		}
	});
}

Ext3跨域ScriptTagProxy使用_第3张图片

原因正是因为返回来的不再是那个成功的code-200,而是下面的文段:

Ext3跨域ScriptTagProxy使用_第4张图片

所以它执行了success==false的方法


你可能感兴趣的:(Ext3,ScriptTagProxy)