确认转发

时间:2017-07-05 19:03:18

标签: javascript php jquery ajax

我正在制作一个脚本,当用户点击一个按钮时,弹出框会显示一条推文的文本框,另一个按钮供用户转发文本框中的内容。在脚本中,它假设告诉用户它是否已成功转发。问题是,在用户点击弹出框中的转推按钮之前,它告诉用户它已成功转发。

似乎只是通过单击激活弹出框显示的按钮,代码激活成功的转发消息,尽管用户端没有转发任何内容。

我对javascript不太熟悉,我猜这不是PHP代码制作错误的逻辑而是javascript代码。以下是我的内容。

    (function($) {
    $(document).ready(function() {
        $.getScript("http://platform.twitter.com/widgets.js", function(){
            twttr.events.bind('tweet', function(event) {
                var targetUrl = event.target.src;
                var query = getQueryParams(targetUrl);
                click_callback(query.url);
            });
        });
    });
    })(jQuery);

    function getQueryParams(qs) {
        qs = qs.split("+").join(" ");
        var params = {}, tokens,
            re = /[?&]?([^=]+)=([^&]*)/g;
        while (tokens = re.exec(qs)) {
            params[decodeURIComponent(tokens[1])]
                = decodeURIComponent(tokens[2]);
        }
        return params;
    }

    function click_callback(id){
        var user = "<? echo $data->id;?>";
        document.getElementById("Hint").style.display='block';
        $("#Hint").html('Confirming Tweet...');
        $.ajax({
            type: "POST",
            url: "plugins/rt/complete.php",
            data: "id="+ id + "&user=" + user,
            success: function(msg){
                $("#Hint").html('Tweeted! Success!');
                removeElement('boxes', id);
            }
        });
    }

    function removeElement(parentDiv, childDiv){
        if (document.getElementById(childDiv)) {     
            var child = document.getElementById(childDiv);
            var parent = document.getElementById(parentDiv);
            parent.removeChild(child);
        }
    }

我认为这是代码中的原因:

  function click_callback(id){
            var user = "<? echo $data->id;?>";
            document.getElementById("Hint").style.display='block';
            $("#Hint").html('Confirming Tweet...');
            $.ajax({
                type: "POST",
                url: "plugins/rt/complete.php",
                data: "id="+ id + "&user=" + user,
                success: function(msg){
                    $("#Hint").html('Tweeted! Success!');
                    removeElement('boxes', id);
                }
            });
        }

0 个答案:

没有答案