Douban.init_rev_text = function(d) {
    if (window.location.hostname != "movie.douban.com") {
        return
    }
    var c = $(d).parents("form"),
    b = $("input[name=rev_submit]");
    b.click(function() {
        if ($(d).val().length < 50) {
            var e = /subject\/(\d*)/.exec(location.href)[1];
            $.getJSON("/j/comment/check", {
                sid: e
            },
            function(f) {
                if (f.has) {
                    if (confirm("少于50字的评论将被自动转为简短评论。并替换之前发表的简短评论内容。是否继续?")) {
                        c.submit()
                    }
                } else {
                    c.submit()
                }
            });
            return false
        }
        return true
    })
};
Douban.init_popup = function(b) {
    $(b).click(function() {
        var c = / (\d+)x(\d+)$/.exec(b.className);
        if (!window.open(b.href, "popup", "height=" + c[2] + ",width=" + c[1] + ",toolbar=no,menubar=no,scrollbars=no,location=no,status=no")) {
            location.href = b.href
        }
        return false
    })
};
getjson函数在这段代码中是什么意思?

解决方案 »

  1.   

    湿胸 去研究一下jquery的API ajax
      

  2.   

    $.getJSON是用ajax从指定url获取数据(以json表示);
      

  3.   

    http://www.w3cschool.cn/ajax_getjson.html
      

  4.   

    这三个参数代表什么,has是什么方法.
      

  5.   

    $.get知道吧,$.getJSON就是多了解释为JSON
      

  6.   

    var e = /subject\/(\d*)/.exec(location.href)[1];
    $.getJSON("/j/comment/check", {
    sid: e
    },
    function(f) {
    if (f.has) {
    ......第一个参数是AJAX提交的URL,
    第二个参数是提交的数据
    第三个参数是回调函数
    f.has不是什么方法,f是返回的json数据对象,has是那里面的一个属性,这些都是你自己定义的JSON数据结构。
    你可以看一下我在三楼提供的地址,里面有详细说明。
      

  7.   

    /j/comment/check这个url是用来做什么的?
    sid是什么意思,就是输入的评论吗?
    返回的数据又是什么呢?
    能不能解释一下这段代码,如果大于50个字又会怎么样呢?
      

  8.   


    /j/comment/check是处理数据的url
    返回的数据是一个json数据,
    至于大于50字会怎样,就是一个判断,被必要计较太深。