Javascript 如何在没有新请求的情况下修改ajax src atributte?

Javascript 如何在没有新请求的情况下修改ajax src atributte?,javascript,jquery,html,ajax,iframe,Javascript,Jquery,Html,Ajax,Iframe,我正在尝试用一个使用HTTP身份验证的系统创建一个iframe。我正在使用以下代码: <iframe id="dashboard"></iframe> <script type="text/javascript"> $.ajax( { url: \'https://mys

我正在尝试用一个使用HTTP身份验证的系统创建一个iframe。我正在使用以下代码:

<iframe id="dashboard"></iframe>
<script type="text/javascript">
                            $.ajax(
                                {
                                    url: \'https://mysystem.xxxx/\',
                                    beforeSend: function(xhr) {
                                    xhr.withCredentials = true;

                                    xhr.setRequestHeader(
                                    "Authorization", "Basic Z2Vxxxxxxxxxxx=="
                                    );
                                    },
                                     success: function(data) {
                                    $(\'#dashboard\').attr(\'src\', \'https://mysystem.xxxx\');
                                    $(\'#dashboard\').contents().find(\'html\').html(data);
                                    }

                                }
                            );
                        </script>

页面加载,但iframe的静态内容(图像、css、js)返回404

您可以使用绝对路径创建图像、css、js资产,如:
https://somedomain.com/path/to/image.jpg
。这样,您就不需要为iframe提供
src

更新

假设您的服务器以字符串形式返回您的
数据
,您可以搜索并替换那里的所有相对路径,使之成为绝对路径

const数据=`
`;
常量absData=data.replace(/(?:rel | src)=“([^”]+)”/g,函数(组,匹配){
如果(!match.startsWith('http')){
返回组。替换(匹配`http://example.com${match}`);
}
返回组;
})

console.log(absData);
iframe内容是由系统生成的,不可能修改为绝对路径。您可以始终使用ajax,将
数据作为字符串获取,并应用一些字符串替换来添加绝对路径。如何做?可以给我一个示例(对不起,我正在学习ajax)?添加了一个代码段那么,嗯……ajax与此有什么关系?另一个GET与ajax请求完全无关。当您修改iframe的src属性时,它将请求您告诉它请求的内容。它不会在ajax请求中设置任何头,因为两者完全无关。
$(\'#dashboard\').attr(\'src\', \'https://mysystem.xxxx\');