zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    Linux基本命令
    LR之流程
    Jmeter&Ant构建自动化测试平台
    正则表达式
    搭建wordpress-安装xshell
    git本地文件提交
    Git基本操作
    python-之基本语法
    SQL语句之-简单查询
    postman之请求&断言
  • 原文地址:https://www.cnblogs.com/niaowo/p/2847344.html
Copyright © 2011-2022 走看看