`
烏魯奇奧拉
  • 浏览: 13099 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

ajax利用json发送/接收数据:

阅读更多
// 此函数等价于document.getElementById /document.all
function $(s) { if (document.getElementById) { return eval('document.getElementById("' + s + '")'); } else { return eval('document.all.' + s); } }

// 创建 XMLHttpRequest对象,以发送ajax请求
function createXMLHTTP() {
    var xmlHttp = false;
    var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
                         "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP",
                         "Microsoft.XMLHTTP"];
    for (var i = 0; i < arrSignatures.length; i++) {
        try {
            xmlHttp = new ActiveXObject(arrSignatures[i]);
            return xmlHttp;
        }
        catch (oError) {
            xmlHttp = false; //ignore
        }
    }
    // throw new Error("MSXML is not installed on your system.");
    if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
        xmlHttp = new XMLHttpRequest();
    }
    return xmlHttp;
}

var xmlReq = createXMLHTTP();

// 发送ajax处理请求(这里简单验证用户名和密码的有效性,默认正确的输入:用户名和密码都是test)
function validatePwd(oTxt) {
    var url = "/AjaxOperations.aspx?action=jsonOp";
    // JSON就只是文本,由于不需要特殊编码而且每个服务器端脚本都能处理文本数据,所以可以轻松利用JSON并将其应用到服务器。
    var str = '{ "userName":"' + $("txtUserName").value + '", "userPwd": "' + $("txtPwd").value + '"}';
    var jsonStr = str.parseJSON().toJSONString();     //  you're sending it JSON
    xmlReq.open("post", url, true);
    xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xmlReq.onreadystatechange = callBack;
    xmlReq.send("sendStr=" + jsonStr); // 发送JSON(在服务器上解释JSON)
}

function callBack() {
    if (xmlReq.readyState == 4) {
        if (xmlReq.status == 200) {
            var jsonStr = xmlReq.responseText.parseJSON().toJSONString(); //转化为json数据
            alert(jsonStr);
        }
        else if (xmlReq.status == 404) {
            alert("Requested URL is not found.");
        } else if (xmlReq.status == 403) {
            alert("Access denied.");
        } else
            alert("status is " + xmlReq.status);
    }
}
多学多学,....
分享到:
评论

相关推荐

    XMLHttpRequest手册

    压缩包“ajax.rar”内含:“《掌握Ajax.chm》”和“...掌握 Ajax,第 10 部分: 使用 JSON 进行数据传输 http://www.ibm.com/developerworks/cn/web/wa-ajaxintro10/ 掌握 Ajax,第 11 部分: 服务器端的 JSON ...

    关于前后端json数据的发送与接收详解

    最近因为笔者后台使用的是flask框架接收和前端使用的是原生的JavaScript和jQuery的ajax发送,能力有限,在此仅写下我开发项目过程中所得,分享出来供大家参考学习,下面话不多说,跟着小编来一起看看详细的介绍: ...

    mybic_1_0_0.zip_BIC_My-BIC_mybic_json p_php xml_submission

    JSON客户端Encoding支持:利用该功能你就能够在客户端或服务器之间发送和接收经过JSON Encoding的数据。 网络断线保护:当服务器Down掉时My-BIC将帮助你删除请求并阻止产生更多的调用。 内置Submission队列:所有...

    Ajax详解.rar

    第 10 部分: 使用 JSON 进行数据传输 111 1.1 选择的意义 112 1.2 JSON 基础 113 1.3 在 JavaScript 中使用 JSON 114 第 11 部分: 借鉴最优秀的 Ajax 应用程序 117 1.1 Google 地图 117 1.2 TaDaList 119 1.3...

    JAVA上百实例源码以及开源项目

    Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非...

    JAVA上百实例源码以及开源项目源代码

    Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非...

    php-rest-telbook

    它是如何工作的?... 当浏览器AJAX-es链接到URL(实际上并不作为文件存在)时, .htaccess会将请求重新路由到server/... 浏览器接收JSON并适当地呈现数据。 使用client-render.js 。利用: .htaccess (for URL rewriti

    jquery插件使用方法大全

    jQuery 1.3.2(2009年2月):这次小版本升级进一步提升了库的性能,例如改进了:visible/:hidden选择符、.height()/.width()方法的底层处理机制。另外,也支持查询的元素按文档顺序返回。 jQuery 1.4(2010年1月14号...

    Node与Express开发.pdf

    第 1 章 初识 Express .......................................................................................................................1 1.1 JavaScript 革命 .........................................

Global site tag (gtag.js) - Google Analytics