JS用JSON作为参数

原创 2013年12月04日 09:43:40
function getAjaxData(urlstr, callback_func, options){
    var myurl = AJAX_HEADER + urlstr + AJAX_TAIL;
    var isAsync = true;//初始化是否同步的属性设置
    var nTimeout = AJAX_TIMEOUT;//初始化请求超时的数据
    var errorCallback = null;
    //利用JSON对象options来修改默认初始化的属性,这样一个参数可以设置多个属性
    if (options)
    {
        if (options.sync)         	//sync这个参数就是JSON的对象
        {
            isAsync = (options.sync === true) ? false : true;
        }
        if (options.timeout)
        {
            nTimeout = parseInt(options.timeout);
            if (isNaN(nTimeout))
                nTimeout = AJAX_TIMEOUT;
        }
        errorCallback = options.errorCB;
    }
    
    if ($.browser.mozilla) 
    {
        try 
        {
            //netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
        } 
        catch (exception) 
        {
            log.error(exception);
        }
    }
    $.ajax({
        async: isAsync,
        //cache: false,
        type: "GET",
        timeout: nTimeout,
        url: myurl,
        //dataType: ($.browser.msie) ? "text" : "xml",
        error: function(XMLHttpRequest, textStatus){
            try
            {
                if (jQuery.isFunction(errorCallback))
                {
                    errorCallback(XMLHttpRequest, textStatus);
                }
                log.error("MAIN : getAjaxData(" + myurl + ") error.");
                log.error("MAIN : XMLHttpRequest.readyState = " + XMLHttpRequest.readyState);
                log.error("MAIN : XMLHttpRequest.status = " + XMLHttpRequest.status);
                log.error("MAIN : textStatus " + textStatus);
            }
            catch (exception) 
            {
                log.error(exception);
            }
        },
        success: function(data){
            log.debug("MAIN : getAjaxData(" + myurl + ") sucess.");
            log.trace(data);
            var xml;
            if (typeof data == "string" || typeof data == "number") 
            {
                if (!window.ActiveXObject) 
                {
                    var parser = new DOMParser();
                    xml = parser.parseFromString(data, "text/xml");
                }
                else 
                {
                    //IE
                    xml = new ActiveXObject("Microsoft.XMLDOM");
                    xml.async = false;
                    xml.loadXML(data);
                }
            }
            else 
            {
                xml = data;
            }
            if (typeof callback_func == "function") 
            {
                callback_func($(xml));
            }
            else 
            {
                log.error("callback_func is undefined or not a function");
            }
        }
    });
}

  getAjaxData("api/monitoring/status", function($xml){
        var wlan_ret = xml2object($xml);
        if(wlan_ret.type == "response")
        {
            monitoring_status = wlan_ret.response;    
            setCurrrentUserHTML();
        }    
    },
    {
        sync:true                 //通过JSON传递多个数据,防止数据冗余,这里类似于配置信息
    });

 

下面是一个简单的例子:

 

function testJSON(JSON){	
	alert(JSON.name);
	alert(JSON.age);
	alert(JSON.id);	
}

testJSON({name:"huangbiao",
	 "age":23,
	 "id":1});

 

相关文章推荐

js获取URL参数以及Struts2与ajax json的交互

json_demo.jsp页面(该页面引用了jquery文件,我用的版本是jquery-1.8.2.js,如果使用版本不同,请自行修改): 01 ...

JS向OC传递JSON参数时的编码解码问题

在使用UIWebView进行混合编程时,JS与OC常常需要进行各种相互调用。有时候还需要传递一些参数,如果参数比较复杂的话,就可以考虑使用JSON。但是如果直接传递JSON,不进行编码的话,会出现非法...

ajaxFileupload.js修复上传无法携带参数,返回json格式不准确问题

ajaxFileupload.js修复的教程网上很多,这个是我结合了自己实践以后的实例,用jfinal作为后台完成上传的全部步骤。 完整例子:http://git.oschina.net/black...

springMVC post方法接收json参数jar包

  • 2016年05月12日 15:52
  • 1.86MB
  • 下载

restlet2.1 学习笔记(六) 获取、返回JSON类型参数

JSON类型的参数与返回值,在客户端使用Ajax访问服务端时会非常有用。 加入:org.json.jar   org.restlet.ext.json.jar   如果要用Jackson工具,就再加入...

js校验对象参数说明表

  • 2011年02月25日 08:44
  • 16KB
  • 下载

ajaxfileupload文件上传带参数,json序列化到后台!

前几天使用了ajaxfileupload方法传文件带上json数据,到controller这么都是接受到"{"这个符号. 仅需对ajaxfileupload文件进行源码的更改即可,附上代码,可直接创...

jquery_query_js获取url参数

  • 2012年12月13日 17:07
  • 30KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JS用JSON作为参数
举报原因:
原因补充:

(最多只允许输入30个字)