如何在此Jquery代码中回显和重定向?

时间:2017-09-28 03:40:19

标签: javascript php jquery

我正在尝试回显下面代码中生成的url,并在AJAX提交发生后将其设置为重定向。

我可以获得重定向工作,但努力想弄清楚如何调用“ShareUrl”来实际使用在下面代码的这一部分创建的url,将其创建为上面的文本链接。

window.location =“shareUrl”是我无法正确的部分......

jQuery('.fpd-share-process').addClass('fpd-hidden');
jQuery('.fpd-share-url').attr('href', shareUrl).text(shareUrl).removeClass('fpd-hidden');
 window.location = "shareUrl";

有没有人有任何建议或解决方案让这个工作?

<script type="text/javascript">

jQuery(document).ready(function() {

    jQuery('#fpd-share-button').click(function(evt) {

        evt.preventDefault();

        jQuery(".fpd-share-widget, .fpd-share-url").addClass('fpd-hidden');
        jQuery('.fpd-share-process').removeClass('fpd-hidden');

        var variationsSer = $productWrapper.find('.variations_form .variations select')
                            .filter(function(index, element) {
                                return $(element).val() != "";
                            }).serialize();

        var scale = $selector.width() > 800 ? Number(800 / $selector.width()).toFixed(2) : 1;
        fancyProductDesigner.getViewsDataURL(function(dataURLs) {

            var dataURL = dataURLs[0],
                data = {
                action: 'fpd_createshareurl',
                image: dataURL,
                product: JSON.stringify(fancyProductDesigner.getProduct()),
            };

            jQuery.post("<?php echo admin_url('admin-ajax.php'); ?>", data, function(response) {

                if(response.share_id !== undefined) {

                    var pattern = new RegExp('(share_id=).*?(&|$)'),
                        shareUrl = window.location.href + '?' + variationsSer;

                    if(shareUrl.search(pattern) >= 0){
                        shareUrl = shareUrl.replace(pattern,'$1' + response.share_id + '$2');
                    }
                    else{
                        shareUrl = shareUrl + (shareUrl.indexOf('?')>0 ? '&' : '?') + 'share_id=' + response.share_id;
                    }

                    jsSocials.setDefaults('facebook', {
                        logo: ' fpd-icon-share-facebook'
                    });

                    jsSocials.setDefaults('twitter', {
                        logo: ' fpd-icon-share-twitter'
                    });

                    jsSocials.setDefaults('googleplus', {
                        logo: '  fpd-icon-share-google-plus'
                    });

                    jsSocials.setDefaults('linkedin', {
                        logo: ' fpd-icon-share-linkedin'
                    });

                    jsSocials.setDefaults('pinterest', {
                        logo: ' fpd-icon-share-pinterest'
                    });

                    jsSocials.setDefaults('email', {
                        logo: ' fpd-icon-share-mail'
                    });

                    <?php $shares = fpd_get_option('fpd_sharing_social_networks'); ?>                                   jQuery(".fpd-share-widget").empty().jsSocials({
                        url: shareUrl,
                        shares: <?php echo is_array($shares) ? json_encode($shares) : '['.$shares.']'; ?> ,
                        showLabel: false,
                        text: "<?php echo FPD_Settings_Labels::get_translation( 'misc', 'share:_default_text' ); ?>"
                    }).removeClass('fpd-hidden');
                }

                jQuery('.fpd-share-process').addClass('fpd-hidden');
                jQuery('.fpd-share-url').attr('href', shareUrl).text(shareUrl).removeClass('fpd-hidden');
                window.location = "shareUrl";
            }, 'json');

        }, 'transparent', {multiplier: scale, format: 'png'});

    });

});
</script>

1 个答案:

答案 0 :(得分:0)

如果你想使用变量中的值,请不要引用它,因为这使它成为一个文字字符串。写:

window.location = shareUrl;