`
yinxvxv
  • 浏览: 51723 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

javascript解决单点登录(get或post方式)

阅读更多

单点登录用get方式很简单,用url拼接就可以了,比如“http://www.baidu.com/s?wd=java”,这个url就向百度提交了关键字java,获得查询结果。

但是如果服务器只接受,或只处理了‘post’方式的参数怎么办(百度好像只处理了get)。

下面这段代码用一个动态的表单,动态改变它的action,method等属性,并动态的生成其子结点,达到提交参数的效果。

openPage方法有三个参数,第一个是要提交的url,也就是action属性的值,第二个是提交方式(get or post),第三个是提交参数用一个json数组表示也来,以便后面迭代生成hidden(隐藏域)。

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>post and get form submit</title>
<script language="javascript">
	function openPage(url,method,params){
		var dynamicForm = document.getElementById("dynamicForm");
		dynamicForm.setAttribute("method",method);
		dynamicForm.setAttribute("action",url);
		dynamicForm.innerHTML = "";
		for(var i=0;i<params.length;i++){
			var input = document.createElement("input");
			input.setAttribute("type","hidden");
			input.setAttribute("name",params[i].paramName);
			input.setAttribute("value",params[i].paramValue);
			dynamicForm.appendChild(input);
		}
		dynamicForm.submit();
	}
</script>
</head>

<body>
<div id="formDiv">
	<form id="dynamicForm" target="_blank">
	</form>
</div>

<p><a href="javascript:openPage('http://www.iteye.com/search','get',[{paramName:'query',paramValue:'struts'},{paramName:'type',paramValue:'topic'}]);">click1</a></p>
<p><a href="javascript:openPage('http://www.iteye.com/search','post',[{paramName:'query',paramValue:'spring'},{paramName:'type',paramValue:'topic'}]);">click2</a></p>
<p><a href="javascript:alert(&quot;哈哈&quot;);">click3</a></p>
</body>
</html>

经过测试,baidu、google只接受get方式提交参数。

而javaeye网站两种方式都经过处理了。

分享到:
评论

相关推荐

    单点登录对接文档1

    单点登录(Single Sign-On, SSO)是一种用户在一次登录后就能访问多个相互信任的应用系统的技术。在本文档中,我们将深入理解SSO的实现细节,主要关注前端与后端的交互,以及如何与认证中心进行对接。 一、JS文件...

    oracl通过存储过程POST方式访问接口

    这种方式常用于集成、自动化流程或数据交换等任务。 UTL_HTTP是Oracle提供的一套实用程序,允许PL/SQL代码发送HTTP请求并接收响应。以下是一些关键知识点: 1. **UTL_HTTP包**:这是Oracle提供的一个标准包,包含...

    淘宝淘宝免费查单工具(淘宝登录,淘宝post,淘宝查单,淘宝代付)

    淘宝是知名的在线购物平台,而“淘宝淘宝免费查单工具”显然是一款专为淘宝用户设计的应用,它提供了淘宝登录、POST请求发送、订单查询以及代付功能。在IT领域,这些功能涉及到的知识点广泛且深入,包括网络通信、...

    delphi_HttpJson_getpost.zip

    本项目"delphi_HttpJson_getpost.zip"则专注于演示如何使用IdHTTP组件进行JSON格式的数据交换,支持GET和POST两种常见的HTTP方法。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于...

    Ext 的login控件

    在本文中,我们将深入探讨ExtJS中的登录控件以及与“统一登录”和“单点登录”相关的概念。 **1. ExtJS Login 控件** 在ExtJS中,创建一个登录界面通常涉及以下步骤: - **创建表单(FormPanel)**: 表单是承载...

    基于JavaScript的管理系统

    在JavaScript环境下,实现这些功能可能涉及到以下几个关键知识点: 1. **前端框架**:如React、Vue或Angular,它们提供了组件化开发、状态管理以及与后端通信的能力,简化了用户界面的构建。 2. **Ajax** 或 **...

    Javascript知识点汇总.pdf

    表单处理通常涉及到`action`属性指定提交的URL以及`method`属性指定提交方式(GET或POST)。 8. **下拉列表框**:`&lt;select&gt;`元素配合`&lt;option&gt;`元素创建下拉列表,`&lt;optgroup&gt;`用于分组选项。 9. **多行文本框**:...

    JavaScript语法精要

    JavaScript是Web开发中不可或缺的一部分,尤其在前端领域更是发挥着至关重要的作用。它是一种轻量级、解释型的编程语言,具有动态类型、基于原型和多范式的特性,使得网页更具交互性和动态性。 首先,我们要理解...

    NCV5-界面集成技术红皮书归纳.pdf

    该章节介绍了如何与 NC 进行单点登录,利用 NC 提供的机制,登录方使用 http GET 或者 POST 方式,NC servlet 提交相关信息,包括账套编码、工作日期、登录语言、用户编码、密码和生成的唯一 key。重点介绍了 key ...

    单页web应用:javascript从前端到后端(源码)

    9. **RESTful API设计**:后端通常提供RESTful API,这是一种设计Web服务的标准,使客户端(如SPA)可以通过HTTP动词(GET、POST、PUT、DELETE等)与资源进行交互。 10. **安全考虑**:包括身份验证(JWT、OAuth)...

    停车场管理应用程序JavaScript源代码.zip

    通过HTTP协议发送请求,如GET、POST、PUT和DELETE,来获取或更新停车场的状态、预订记录等数据。 3. **数据存储**:在停车场管理中,数据存储至关重要,包括车位状态、车辆信息、预订记录等。这可能涉及到数据库...

    JavaScript脚本80例

    5. **AJAX和Fetch**:用于异步数据交换,理解GET和POST请求,XMLHttpRequest对象或现代的Fetch API的使用。 6. **JSON**:JavaScript Object Notation,数据交换格式,如何解析和序列化JSON数据。 7. **正则表达式...

    项目四 jQuery_javascript_

    5. **Ajax交互**:jQuery的`.ajax()`方法使得异步数据请求变得容易,它支持GET和POST请求,还可以处理JSON、XML等多种数据格式。`.load()`, `.get()`, `.post()`是其简化版本,方便日常使用。 6. **链式操作**:...

    javascript实现ajax效果的经典代码

    首先需要创建一个 XMLHttpRequest 实例,然后配置请求的参数,包括请求方法(GET 或 POST)、URL 和是否异步执行。最后,调用 `open()` 方法和 `send()` 方法来发起请求。 2. **事件监听**:在发起请求后,我们需要...

    javascript对象与数组参考大全

    - `method`: 获取或设置表单提交的方法(GET 或 POST)。 - `radio`: 获取或设置表单中的单选按钮元素。 - `reset`: 获取或设置表单中的重置按钮。 - `select`: 获取或设置表单中的选择框元素。 - `submit`: ...

    核心编程-day011

    - POST必须通过表单,而GET可以用表单或URL。 - GET的数据在URL中可见,POST则不可见。 - GET的数据量有限,通常为2KB,POST理论上无限制,但受浏览器限制。 - GET只能传输简单数据,POST可传输复杂数据,包括二...

Global site tag (gtag.js) - Google Analytics