Ajax获取代理返回的Json数据



【背景】

Ajax在开发过程中使用的很多,局部刷新、动态加载等功能,非常受到用户的青睐,它可以接收代码返回的xml、html、Json等格式,本人主要讲述返回Json格式。

下面的代码是判断用户输入的密码是否与当前密码一致。

【参考代码】

1.Js代码:

function CreateXMLHTTP()
{
	// 创建AJAX请求对象,系统不考虑跨浏览器情况
	var progids = ["Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP.2.6","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
	var o;
	for(var i = 0; i < progids.length; i++){
		try{
			o = new ActiveXObject(progids[i]);
			return o;
		}
		catch (e) {};
	}
	return null;
}
// 检查现在的密码是否填写正确
function fnCheckOldPasswd(){
	var objHTTP= CreateXMLHTTP();
	var d = new Date();
	var vurl = "/"+document.getElementById("thisDb").value+"/ajaxCheckOldPasswd?OpenAgent&OldPass="+escape(document.getElementById("OldPassword").value)+"&curUser="+escape(document.getElementById("CurUser").value) + "&d=" + d.getTime();
	objHTTP.open("GET", vurl, false, "", "");
	objHTTP.setRequestHeader("If-Modified-Since","0");
	objHTTP.send(false);
	var getOptions = objHTTP.responseText;
	getOptions = getOptions.replace(/\n/ig,"");
	var oJson = eval("(" + getOptions + ")");

	if(oJson && oJson.oReturn=="true"){
		return true;
	}else{
		return false;
	}

}

说明:

1)通过objHTTP.responseText获取代理返回Json字符串信息;

2)通过eval("(" + getOptions + ")")将Json字符串转换成Json对象

2.Lotuscript代码:

Option Public
Option Declare

Sub Initialize

	On Error Goto ErrorHandle
	Dim ss As New NotesSession
	Dim namesDb As NotesDatabase
	Dim namesView As NotesView
	Dim namesDoc As NotesDocument
	Dim curDoc As NotesDocument

	Set curDoc = ss.Documentcontext

	Dim sCurUser As String
	Dim sOldPass As String
	Dim sReturn As String
	sReturn = "false"

	Dim QueryList As Variant
	Dim String_Query As String
	Dim i As Integer
	String_Query = curDoc.query_string_decoded(0)
	Msgbox "String_Query==" & String_Query
	'Msgbox String_Query
	QueryList = fnUnSerialize(String_Query)

	sCurUser = QueryList("curUser")
	sOldPass=QueryList("OldPass")
	MsgBox "sCurUser=" & sCurUser & ",sOldPass=" & sOldPass

	Dim v As Variant
	Dim passwd As String
	v = Evaluate(|@Password("| & sOldPass & |")|)
	passwd = v(0)
	MsgBox "passwd=" & passwd

	Set namesDb = ss.Getdatabase("xx", "names.nsf")
	Set namesView = namesDb.Getview("PeopleByCNName")
	Set namesDoc = namesView.Getdocumentbykey(sCurUser, true)

	If Not namesDoc Is Nothing Then
		MsgBox namesDoc.HTTPPassword(0)
		If namesDoc.HTTPPassword(0)=passwd Then

			sReturn = "true"
		End If
	End If

	Print |Content-Type: text/plain; charset="GB2312"|

exitSub:
	Print |{"oReturn":"| & sReturn & |"}|
	MsgBox |{"oReturn":"| & sReturn & |"}|
	Exit Sub
ErrorHandle:
	msgErr "Initialize"
	GoTo exitSub
End Sub
Function fnUnSerialize(strQuery As String) As Variant
	On Error GoTo err_handle

	Dim QueryList List As String
	Dim tmp1 As Variant
	Dim tmp2 As Variant

	tmp1 = Split(strQuery,"&")
	ForAll t In tmp1
		tmp2 = Split(t,"=")
		If UBound(tmp2)=1 And tmp2(0) <> "" Then
			QueryList(tmp2(0)) = tmp2(1)
		End If
	End ForAll
	fnUnSerialize = QueryList
	Exit Function
err_handle:
	MsgBox "fnParam "+Str(Erl)
End Function
时间: 2024-10-12 19:32:25

Ajax获取代理返回的Json数据的相关文章

Jquery 使用Ajax获取后台返回的Json数据后,页面处理

<!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> <title></title> <sc

ajax 请求 对json传的处理 Jquery 使用Ajax获取后台返回的Json数据后,页面处理

<!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> <title></title> <sc

jquery序列化form表单使用ajax提交后处理返回的json数据

这篇文章主要介绍了jquery序列化form表单,使用ajax提交后处理返回的json数据的示例,需要的朋友可以参考下 1.返回json字符串: ** 将一个字符串输出到浏览器 */    protected void writeJson(String json) {        PrintWriter pw = null;        try {            servletResponse.setContentType("text/plain;charset=UTF-8"

jquery $.ajax()获取服务器上的json数据

$.ajax({ url: 'http://127.0.0.1/work/open.json', success: function(data) { var ob = data; if (typeof(data) == 'string') { ob = stringtoObject(data); } }); var stringtoObject = function(json) { return eval("(" + json + ")"); } url为获取jso

ajax获取后台传递的json数据

最近在使用JQuery的ajax方法时,需要返回的数据为json数据,在success返回中数据处理会根据返回方式不同会采用不同的方式来生成json数据.在$.ajax方法中应该是如何来处理的,简单进行说明. 首先给出要传的json数据:[{"demoData":"This Is The JSON Data"}] 1,使用普通的aspx页面来处理 Js代码   $.ajax({ type: "post", url: "Default.a

JS获取后台返回的JSON数据

问题:通过$.get从后台获取了一段json串{"id":"1","name":"ww"},然后要拿到这里面的id和name值 $.get(url,     function(data) {    alert("ID:" + data.id + "\nName:" + data.name);     }); 直接这样写的话,界面会alert提示undefined,所以应该是没能正确解析返

ASP.NET MVC获取微信返回的json数据分页

View @model JiaYe.WeiXin.Models.ViewModels.UserViewModel <div class="pull-left pagination"> <ul class="pagination pagination-outline"> @{ //分页算法:(总记录数+每页记录数-1)/每页记录数 var totalPageNum = (Model.OpenIdResult.openid.Count + 10

PHP获取网页返回的JSON数据并在微信换行展示

1 $url ="http://japi.juhe.cn/joke/content/text.from?page=&pagesize=&key=c968d04ab0ea15e8f480b6c2d534804f"; 2 $handle = fopen($url,"rb"); 3 $content = ""; 4 while (!feof($handle)) { 5 $content .= fread($handle, 600); 6

Jquery JavaScript解析Ajax返回的json数据(转)

最近在用jquery的ajax方法传递接收json数据时发现一个问题,那就是返回的data数据,有时候可以直接作为json数据使用,可有时候又不行. 经过网友指出,这个问题已经有了比较明确的结论,那就是jquery ajax方法的complete方法是不会处理dataType的,所以如果你是在complete里面试图直接用json数据是不可行的,必须先通过eval. $.ajax方法如下: Java代码 $.ajax({ type: “POST”, url: ctxRoot+’FolderAct