Javascript 函数重定向到带有XML请求的网页?

Javascript 函数重定向到带有XML请求的网页?,javascript,html,firebase,google-cloud-functions,xmlhttprequest,Javascript,Html,Firebase,Google Cloud Functions,Xmlhttprequest,在我的网页中,我正在将一个图像上载到firebase函数并处理该图像,然后希望加载到另一个名为processed.html的网页中。我正在使用主机和功能在一起 这是xml请求: var formData = new FormData(); formData.append("file", sFile); formData.append("quality", sQuality); var ajax = new XMLHttpReques

在我的网页中,我正在将一个图像上载到firebase函数并处理该图像,然后希望加载到另一个名为
processed.html
的网页中。我正在使用主机和功能在一起

这是xml请求:

var formData = new FormData();
    formData.append("file", sFile);
    formData.append("quality", sQuality);
    var ajax = new XMLHttpRequest();

    ajax.upload.addEventListener("progress", progressHandler, false);
    ajax.addEventListener("load", loadHandler, false);
    ajax.addEventListener("error", errorHandler, false);
    ajax.open("POST", "/upload");
    ajax.send(formData);

function loadHandler(e) {
    //  
}

function errorHandler(e) {
    sFileLabel.innerHTML = e.target.responseText + 'Upload Failed';
} 
我需要的是,我想打开网页后,响应finsih

为此,我尝试了res.redirect(
/processed?data=${base64data}
);在firebase函数中,但它不起作用,因为页面本身没有重定向,只是作为xhr重定向响应记录在网络日志中。但没有页面的实际重定向

我怎样才能正确地重定向到或加载另一个带有Base64数据作为查询的网页,以便将其加载到该网页中


不在当前页面中加载图像作为该页面中提供的其他功能。

重定向意味着可以在此处找到您要求的内容

location = "the new url"
重定向并不意味着在浏览器的视口中加载此页面

您是使用
XMLHttpRequest
发出请求的。浏览器将遵循重定向,从重定向到的URL获取资源,并在
XMLHttpRequest
对象的
response
属性中提供该数据

如果希望在视口中加载重定向,则需要使用在视口中加载响应的方法发出原始请求。e、 g.使用常规表单提交,不涉及
XMLHttpRequest

location = "the new url"

如果您需要一些逻辑,根据响应的不同,有时使用JS修改当前页面(
sFileLabel.innerHTML=e.target.responseText+'Upload Failed'
),有时导航到新页面,那么您需要使用JS触发导航

location = "the new url"
当然,您需要确定新的URL是什么,并且浏览器将透明地跟随HTTP重定向,因此您无法读取
位置
标题来确定它

这意味着您需要对URL客户端进行硬编码更改服务器端代码,以便它返回数据,客户端JS可以使用这些数据来获取新的URL。e、 g.一些JSON

Content-Type: application/json

{
    "success": true,
    "new_url: `/processed?data=${base64data}`
}

好的,明白了。谢谢。还有一个问题,查询中base64数据的替代方案是什么?表示如果可能,不希望将base64数据作为查询发送。为什么?我在quora中找到了一篇文章,它提供了base64的不同替代方案,注释了uuencoding,它类似于base64。