jquery ajax跨域请求获取返回值(jsonp格式)
1.struts2
2.jquery ajax
function loginCheck(){
var userName=$("#Ecom_User_ID").val();
var password=$("#Ecom_Password").val();
alert(userName);
var mydata={Ecom_User_ID:userName,Ecom_Password:password};
function jsoncallback(data){
alert(data.status);
}
$.ajax({
async:false,
url: 'http://127.0.0.1:8080/websso/sso/checkSystemStatus.action', // 跨域URL
type: 'get',
dataType: 'jsonp',
jsonp: 'jsoncallback', //默认callback
data: mydata,
timeout: 5000,
beforeSend: function(){ //jsonp 方式此方法不被触发。原因可能是dataType如果指定为jsonp的话,就已经不是ajax事件了
},
success: function (json) { //客户端jquery预先定义好的callback函数,成功获取跨域服务器上的json数据后,会动态执行这个callback函数
/* if(json.actionErrors.length!=0){
alert(json.actionErrors);
}
genDynamicContent(qsData,type,json); */
alert(json.status);
},
complete: function(XMLHttpRequest, textStatus){
// $.unblockUI({ fadeOut: 10 });
},
error: function(xhr){
//jsonp 方式此方法不被触发
//请求出错处理
alert("请求出错(请检查相关度网络状况.)");
}
});
}
STRUTS:
<action name="checkSystemStatus" class="com.sso.CheckAction" method="checkSystemStatus">
<result name="success" type="json">
<param name="root">resultMap</param>
<param name="callbackParameter">jsoncallback</param>
</result>
</action>