jQuery:发送ajax请求得到返回的链接,跳转这个链接后显示{“msg”:“referer”=XXXXX}

问题描述

发送ajax请求得到返回的链接,跳转这个链接后显示{“msg”:“referer”=XXXXX}

问题出现的环境背景及自己尝试过哪些方法

用了好几种方法,window.open、location.href、拿到链接拼接到a标签的href里,第一次打开都出现{"msg":"referer"=http://10.16.202.55/webmail/static/se.....,"result":"csrf error"}这个问题,重新刷新就显示正常,拿这个链接去别的页面打开也显示正常,实在找不到相关的处理方法了。
image.png

相关代码

window.setTimeout(function () {
    var readMailfrmDoc = top.document.getElementById(
        "ifrmReadmail_Content_readMail" + mid
    ).contentWindow.document;
    var gMain = parent.gMain
    var url = gMain.vLink
    jQuery(readMailfrmDoc).find('.wps-preview').on('click', function () {
        var adPopup = window.open('about:blank')
        var referrer = url
        jQuery.ajax({
            url: url,
            type: 'GET',
            dataType: 'JSON',
            success: function (res) {
                if (res.code == 'S_OK') {
                    var newLink = res.var
                    adPopup.blur();
                    adPopup.opener.focus();
                    adPopup.location.href = newLink
                } else {
                    alert('无法获取预览链接')
                }
            }
        })
    })
}, 0);

你期待的结果是什么?实际看到的错误信息又是什么?

希望跳转以后打开的页面显示正常

阅读 3k
1 个回答

那不是有提示吗?csrf 错误了。应该有其他的地方把 token 消费了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题