只想到客户端的,而且不是很安全,因为直接用js传了用户名密码。希望高手能指点一二。而且如果能从服务器端解决问题就更好了!
代码
//
获取数据
var Request = new Object();
Request.send = function (url, method, callback, data, urlencoded,uid,pwd) {
var req;
if (window.XMLHttpRequest) { // 非IE内核浏览器
req = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE内核浏览器
try { // IE6.0
req = new ActiveXObject( " Microsoft.XMLHTTP " );
}
catch (e1) {
try {
req = new ActiveXObject( " MSXML2.XMLHTTP " );
}
catch (e2) {
try {
req = new ActiveXObject( " MSXML3.XMLHTTP " );
}
catch (e3) {
alert( " 创建Ajax失败: " + e3)
}
}
}
}
else { // 未知浏览器
alert( " 未能识别的浏览器 " );
}
req.onreadystatechange = function () {
if (req.readyState == 4 ) { // only if req shows "loaded"
if (req.status < 400 ) { // only if "OK"
(method == " POST " ) ? callback(req) : callback(req, data);
} else {
// alert("There was a problem loading data :\n" + req.status+ "/" + req.statusText + "\n" + url);
}
}
}
// debugger;
if (method == " POST " ) {
req.open( " POST " , url, true ,uid,pwd);
if (urlencoded) req.setRequestHeader( ' Content-Type ' , ' application/x-www-form-urlencoded ' );
req.send(data);
} else {
req.open( " GET " , url, true ,uid,pwd);
req.send( null );
}
return req;
}
Request.sendRawPOST = function (url, data, callback) {
Request.send(url, " POST " , callback, data, false );
}
Request.sendPOST = function (url, data, callback,uid,pwd) {
Request.send(url, " POST " , callback, data, true ,uid,pwd);
}
Request.sendGET = function (url, callback, args) {
return Request.send(url, " GET " , callback, args);
}
// 直接跳转到页
function GetRC(url, username, password) {
var req_oa;
if (window.XMLHttpRequest) { // 非IE内核浏览器
req_oa = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE内核浏览器
try { // IE6.0
req_oa = new ActiveXObject( " Microsoft.XMLHTTP " );
}
catch (e1) {
try {
req_oa = new ActiveXObject( " MSXML2.XMLHTTP " );
}
catch (e2) {
try {
req_oa = new ActiveXObject( " MSXML3.XMLHTTP " );
}
catch (e3) {
alert( " 创建Ajax失败: " + e3)
}
}
}
}
else { // 未知浏览器
alert( " 未能识别的浏览器 " );
}
req_oa.open( " POST " , url, true , username, password);
req_oa.onreadystatechange = function Result() {
if (req_oa.readyState == 4 ) { // only if req shows "loaded"
if (req_oa.status < 400 ) { // only if "OK"
self.location = url;
}
else {
// alert("There was a problem loading data :\n" + req.status+ "/" + req.statusText + "\n" + url);
}
}
}
req_oa.send( null );
}
var Request = new Object();
Request.send = function (url, method, callback, data, urlencoded,uid,pwd) {
var req;
if (window.XMLHttpRequest) { // 非IE内核浏览器
req = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE内核浏览器
try { // IE6.0
req = new ActiveXObject( " Microsoft.XMLHTTP " );
}
catch (e1) {
try {
req = new ActiveXObject( " MSXML2.XMLHTTP " );
}
catch (e2) {
try {
req = new ActiveXObject( " MSXML3.XMLHTTP " );
}
catch (e3) {
alert( " 创建Ajax失败: " + e3)
}
}
}
}
else { // 未知浏览器
alert( " 未能识别的浏览器 " );
}
req.onreadystatechange = function () {
if (req.readyState == 4 ) { // only if req shows "loaded"
if (req.status < 400 ) { // only if "OK"
(method == " POST " ) ? callback(req) : callback(req, data);
} else {
// alert("There was a problem loading data :\n" + req.status+ "/" + req.statusText + "\n" + url);
}
}
}
// debugger;
if (method == " POST " ) {
req.open( " POST " , url, true ,uid,pwd);
if (urlencoded) req.setRequestHeader( ' Content-Type ' , ' application/x-www-form-urlencoded ' );
req.send(data);
} else {
req.open( " GET " , url, true ,uid,pwd);
req.send( null );
}
return req;
}
Request.sendRawPOST = function (url, data, callback) {
Request.send(url, " POST " , callback, data, false );
}
Request.sendPOST = function (url, data, callback,uid,pwd) {
Request.send(url, " POST " , callback, data, true ,uid,pwd);
}
Request.sendGET = function (url, callback, args) {
return Request.send(url, " GET " , callback, args);
}
// 直接跳转到页
function GetRC(url, username, password) {
var req_oa;
if (window.XMLHttpRequest) { // 非IE内核浏览器
req_oa = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE内核浏览器
try { // IE6.0
req_oa = new ActiveXObject( " Microsoft.XMLHTTP " );
}
catch (e1) {
try {
req_oa = new ActiveXObject( " MSXML2.XMLHTTP " );
}
catch (e2) {
try {
req_oa = new ActiveXObject( " MSXML3.XMLHTTP " );
}
catch (e3) {
alert( " 创建Ajax失败: " + e3)
}
}
}
}
else { // 未知浏览器
alert( " 未能识别的浏览器 " );
}
req_oa.open( " POST " , url, true , username, password);
req_oa.onreadystatechange = function Result() {
if (req_oa.readyState == 4 ) { // only if req shows "loaded"
if (req_oa.status < 400 ) { // only if "OK"
self.location = url;
}
else {
// alert("There was a problem loading data :\n" + req.status+ "/" + req.statusText + "\n" + url);
}
}
}
req_oa.send( null );
}