现在的位置: 首页 > 综合 > 正文

jquery ajax跨域请求获取返回值(jsonp格式)

2014年02月17日 ⁄ 综合 ⁄ 共 1107字 ⁄ 字号 评论关闭

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>

抱歉!评论已关闭.