gpt4 book ai didi

jquery - 使用 Javascript 从加载的 iframe 中检索 HTTP 状态代码

转载 作者:可可西里 更新时间:2023-11-01 15:04:00 26 4
gpt4 key购买 nike

我使用 jQuery Form 插件进行异步表单提交。对于包含文件的表单,它将表单复制到隐藏的 iframe,提交它,然后复制回 iframe 的内容。问题是我不知道如何找到服务器返回的 HTTP 状态代码。例如,如果服务器返回 404,来自 iframe 的数据将被正常复制并被视为常规响应。

我试过在 iframe 对象中四处寻找某种 status_code 属性,但没能找到类似的东西。


不能使用$.ajax()函数,因为它不支持上传文件。据我所知,异步上传文件的唯一方法是使用隐藏的 iframe 方法。

最佳答案

无法通过JS获取页眉,但可以区分错误与成功:尝试这样的事情:

<script type="text/javascript">

var uploadStarted = false;
function OnUploadStart(){
uploadStarted = true;
}

function OnUploadComplete(state,message){

if(state == 1)
alert("Success: "+message);
else
if(state == 0 && uploadStarted)
alert("Error:"+( message ? message : "unknow" ));
}

</script>


<iframe id="uploader" name="uploader" onload="OnUploadComplete(0)" style="width:0px;height:0px;border:none;"></iframe>

<form id="sender" action="/upload.php" method="post" target="uploader" enctype="multipart/form-data" onsubmit="OnUploadStart()">
<input type="file" name="files[upload]"/>
<input type="submit" value="Upload"/>
</form>

在服务器端:

/*
file: upload.php
*/
<?php

// do some stuff with file

print '<script type="text/javascript">';
if(success)
print 'window.parent.OnUploadComplete(1,"File uploaded!");';
else
print 'window.parent.OnUploadComplete(0, "File too large!");';
print '</script>';
?>

关于jquery - 使用 Javascript 从加载的 iframe 中检索 HTTP 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35240/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com