easyui+struts+jsonp easyui向struts发送jsonp请求 easyui跨域请求struts - 全栈笔记

easyui+struts+jsonp easyui向struts发送jsonp请求 easyui跨域请求struts

任亦伟 JAVA, JavaScript, 项目日记 2014-12-15 91 次浏览 没有评论

1.页面的代码:

01
02
<script type="text/javascript">
03
$.ajax({
04
type : "get",
05
async:false,
06
url : "http://console.xxxxx.com/admin/listModuleAjax.action?moduleType=servers",
07
dataType : "jsonp",
08
jsonp: "callback",//服务端用于接收callback调用的function名的参数
09
jsonpCallback:"success_jsonpCallback",//callback的function名称
10
success : function(json){
11
$("#serverTypeSelect").combobox({
12
 
13
//直接把成功后获取到的json赋给combobox的data
14
 
15
data:json,
16
valueField:'name',
17
textField:'name',
18
method:'get',
19
panelHeight:'auto',
20
onSelect:function(module){
21
//这里使用了jqueryTmpl插件
22
$('#addFieldContainer').empty().append($( '#apiFieldTmpl' ).tmpl(module));
23
}
24
});
25
 
26
},
27
error:function(){
28
alert('fail');
29
}
30
});
31
</script>
32


2.struts 的代码:
01
02
//..........
03
 
04
private String callback;
05
 
06
public String getCallback() {
07
return callback;
08
}
09
 
10
public void setCallback(String callback) {
11
this.callback = callback;
12
}
13
 
14
private Object resultObj;
15
 
16
public Object getResultObj() {
17
return resultObj;
18
}
19
 
20
public void setResultObj(Object resultObj) {
21
this.resultObj = resultObj;
22
}
23
 
24
 
25
public String listJson(){
26
//..........
27
resultObj = moduleList;
28
return SUCCESS;
29
}
30
 
31
//.........
32

3.struts配置文件的代码
01
02
<package name="adminConsoleJson" namespace="/admin" extends="json-default">
03
  <action name="*ModuleAjax" method="{1}Json" class="adminModuleAction">
04
    <result type="json">
05
      <param name="root">resultObj</param>
06
      <param name="callbackParameter">callback</param>
07
    <result>
08
</action>
09
</package>
10

发表评论

回顶部