JFinal ajax 跨越請求 jsonp

<p>通過JFinal 框架,ajax跨域請求。</p><p>後臺代碼:</p><p><pre name="code" class="java"> public void dologin() {
      
      
        JSONObject json = new JSONObject();
        Subject subject = SecurityUtils.getSubject();
        UsernamePasswordToken token = new UsernamePasswordToken(getPara("account"),
                EncryptionKit.md5Encrypt(getPara("password")));
        try {
            // 4、登錄,即身份驗證
            subject.login(token);
            String from = getPara("from");
            String findSql = "(1=1) and ";
            // 獲取信息
            String account = token.getUsername();
            if (account != null)
                findSql += "account like '" + account + "' and ";
            findSql += " (1=1);";
            SysUser data_need = SysUser.dao.where(findSql).get(0);
           
            int Id = data_need.getInt("id");
            json.put("id", Id);
            json.put("account", Account);
            if ("1".equals(is_app)) {
            	//app端登錄session不過期
            	subject.getSession(true).setTimeout(-1);
            	renderJson("jsonpCallback({\"data\":"+json.toJSONString()+"})");
          //      renderJson(putjson("0", data, "success"));
            	
                            } else {
            	subject.getSession(true).setTimeout(60*60*1000);
                if (StringKit.isBlank(from))
                    redirect("/");
                else {
                    redirect(from);
                }
            }

        } catch (AuthenticationException e) {
            // 5、身份驗證失敗
            if ("1".equals(is_app)) {           	
                renderJson(putjson("330", "", "failed"));
            } else {
                alertAndGoback("用戶名或密碼錯誤,請重新登錄");
            }
        }
    }

前臺代碼:

function doLogin(account,password){
	


	$.ajax({
			
		
			url : "http://localhost:10080/Passport/dologin",//baseURL
			data : {
				is_app : 1,
				account :  account,
				password : password,
			},
			type : "post",
			//crossDomain: true,
			dataType : "jsonp",
			jsonp : "callback",
			jsonpCallback:"jsonpCallback",
			success : function(data) {
				var temp = (data.data.id);
				location.href="http://www.baidu.com";
			},
			error : function(XMLHttpRequest, textStatus, errorThrown) {
				alert(XMLHttpRequest.status);
				return false;
			}
    });
}



發佈了58 篇原創文章 · 獲贊 19 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章