• JQuery ajax 调用webservice妙用



    jQuery的ajax调用很方便,传参的时候喜欢用Json的数据格式。比如:

    JavaScript代码,增加一个评论
    function AddComment(content) {
        var threadId = $("#span_thread_id").html();
        var groupId = $("#span_group_id").html();
        var groupType = $("#span_group_type").html();
        var title = $("#thread_title").html();
        var content = content.replace(/\x22/g,'"');
        $.ajax({
            url: '/WebService/GroupService.asmx/AddThreadComment',
            data: '{threadId:' + threadId + ',groupId:' + groupId + ',groupType:' + groupType + ',title:"' + title + '",content:"' + content + '"}',        type: 'post',
            dataType: 'json',
            contentType: 'application/json;charset=utf-8',
            cache: false,
            success: function(data) {
                //根据返回值data.d判断是不是成功
            },
            error: function(xhr) {
                //中间发生异常,查看xhr.responseText
            }
        });
    }

    这中间最麻烦,最容易出错的也是拼接Json字符串,字符型参数的值要添加引号,而且对于用户输入的文本字段要对',/等进行特殊处理

    意外的机会,上司给我推荐了一种新的方法,看下面代码:

    JavaScript代码,巧用JSON传参数
    function AddComment(content) {
        var comment = {};
        comment.threadId = $("#span_thread_id").html();
        comment.groupId = $("#span_group_id").html();
        comment.groupType = $("#span_group_type").html();
        comment.title = $("#thread_title").html();
        comment.content = content;
        $.ajax({
            url: '/WebService/GroupService.asmx/AddThreadComment',
            data: $.toJSON(comment),
            type: 'post',
            dataType: 'json',
            contentType: 'application/json;charset=utf-8',
            cache: false,
            success: function(data) {
                //根据返回值data.d处理   
            },
            error: function(xhr) {
                //中间发生异常,具体查看xhr.responseText
            }
        });
    }

    直接用$.toJSON(对象)即可;
    jQuery的JSON插件:http://code.google.com/p/jquery-json/
     
    另外参考:
     
     
  • 相关阅读:
    Ubuntu 16 安装redis客户端
    crontab 参数详解
    PHP模拟登录发送闪存
    Nginx配置端口访问的网站
    Linux 增加对外开放的端口
    Linux 实用指令之查看端口开启情况
    无敌的极路由
    不同的域名可以指向同一个项目
    MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error
    Redis 创建多个端口
  • 原文地址:https://www.cnblogs.com/userbibi/p/3003820.html
Copyright © 2020-2023  润新知