【发布时间】:2025-11-30 06:50:01
【问题描述】:
我已将“responseType”设置为“blob”的 XMLHttpRequest 设置为 php 脚本,我是否可以返回多种类型的响应?如果脚本可以成功运行,则以“contentType/application/zip”响应,但如果脚本失败,则以“字符串”(错误文本)响应。我尝试在我的 php 脚本中响应一个字符串 但是,在我的 javascript 中,我设置了 XHR.responseType = 'blob'。
在 PHP 中
if(someThingWrong)
{
echo "Archive not found"; //Repsonse is DOMString
header("HTTP/1.1 404 Not Found");
exit;
}
else
{
header("Content-type: application/zip"); //Response is octe-Stream or zip
header("Content-Disposition: attachment; filename=\"" . basename($newZipFile) . "\"" );
readfile($newZipFile);
}
在 JavaScript 中
XHR.open("POST", "anycode.php");
XHR.responseType = "blob";
当我尝试访问 xhr.ResponseText 时,它显示“未定义”。
if(XHR.status == 404)
{alert(XHR.ResponseText);}
非常感谢任何帮助。
【问题讨论】:
-
它的
responseText和一个共同的r
标签: php xmlhttprequest