Jquery ajax jsonp跨域访问 返回格式及其获取方式 并实现单点登录SSO

后台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.SessionState;
using LaChapelle.Common;
using LaChapelle.Components;
using LaChapelle.LINQ.GOODS;
using System.Text;
using LaChapelle.LINQ.USER;

namespace LaChapelle.CandiesWeb.ajax
{
/// <summary>
/// Goods 的摘要说明
/// </summary>
public class UserAjax : IHttpHandler, IReadOnlySessionState
{
private string userCookieStr = string.Empty;
private string callbackName = string.Empty;

public void ProcessRequest(HttpContext context)
{

if (!string.IsNullOrEmpty(context.Request["ajaxMethod"]))
{
context.Response.ContentType = "text/plain";

if (context.Request["userco"] != null)
{
userCookieStr = context.Request["userco"];
}

if (context.Request["callback"] != null)
{
callbackName = context.Request["callback"];
}

string ajaxMethod = context.Request["ajaxMethod"];

switch (ajaxMethod)
{
case "loginsinglepoint":
loginSinglePoint();
break;
}
}
}

private void loginSinglePoint()

if (!string.IsNullOrEmpty(userCookieStr))

CookieManager.SetCookie(CookieHelper.USERNAMECOOKIENAME, userCookieStr);
HttpContext.Current.Response.Write(callbackName + "({\"result\":\"0\"})");
HttpContext.Current.Response.End(); 
}
else
{
HttpContext.Current.Response.Write(callbackName + "({\"result\":\"-1\"})");
HttpContext.Current.Response.End();
}
}

public bool IsReusable
{
get
{
return false;
}
}
}
}

 

前端代码:

function loginSinglePoint(cookiestr) {
$.ajax({
type: "get",
url: 'http://www.candies.com.cn/ajax/UserAjax.ashx?ajaxMethod=test&userco=' + cookiestr,
dataType: "jsonp",
success: function (json) {
alert(json.result);
}
});

}

 

//实现单点登录
//function loginSinglePoint(cookiestr) {
// var urls = ["http://www.candies.com.cn/ajax/UserAjax.ashx?ajaxMethod=loginsinglepoint&userco=",
// "http://www.7modifier.com/ajax/UserAjax.ashx?ajaxMethod=loginsinglepoint&userco=",
// "http://www.lachapelle.com/ajax/UserAjax.ashx?ajaxMethod=loginsinglepoint&userco=",
// "http://sp.lachapelle.com/ajax/UserAjax.ashx?ajaxMethod=loginsinglepoint&userco="];

// $.each(urls, function (i, n) {
// $.ajax({
// type: "get",
// url: n + cookiestr,
// dataType: "jsonp",
// success: function (data) {
// alert(data.result);
// }
// });
// });
//}

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.aspx.cs" Inherits="LaChapelle.MemberWeb.test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script type='text/javascript' src='/j/jquery-1.7.2.min.js'></script>
<script type='text/javascript' src='/j/user.js'></script>
</head>
<body>
<form id="form1" runat="server">

<input type="button" id="btnLoginSinglePoint" onclick="loginSinglePoint('FiykA04f4vkex0RJOkJclQ==')" value="单点登录测试" />
</form>
</body>
</html>

posted @ 2013-01-06 11:00  dapeng888  阅读(587)  评论(0编辑  收藏  举报