- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 XMLHttpRequest
将文件从 javascript
代码发送到 django View
。我需要检测该文件是否已被已发送或发生错误。我使用 jquery 编写了以下 javascript。
理想情况下,我想向用户显示文件未上传的错误消息。在 javascript
中是否有某种方法可以做到这一点?
我尝试通过从 django view
返回 success/failure
消息来实现此目的,并将 success/failed 消息
作为 json
并从 django View 发送回序列化的 json。为此,我将 xhr.open()
非异步
>。我尝试打印 xmlhttpRequest
对象的 responseText
。console.log(xhr.responseText)
显示
response= {"message": "success"}
我想知道的是,这是否是执行此操作的正确方法。在许多文章中,我发现了警告
Using async=false is not recommended
那么,有没有什么方法可以在保持xhr.open()
异步的同时,查明文件是否已发送?
$(document).ready(function(){
$(document).on('change', '#fselect', function(e){
e.preventDefault();
sendFile();
});
});
function sendFile(){
var form = $('#fileform').get(0);
var formData = new FormData(form);
var file = $('#fselect').get(0).files[0];
var xhr = new XMLHttpRequest();
formData.append('myfile', file);
xhr.open('POST', 'uploadfile/', false);
xhr.send(formData);
console.log('response=',xhr.responseText);
}
我的 django View 从表单数据中提取文件并写入目标文件夹。
def store_uploaded_file(request):
message='failed'
to_return = {}
if (request.method == 'POST'):
if request.FILES.has_key('myfile'):
file = request.FILES['myfile']
with open('/uploadpath/%s' % file.name, 'wb+') as dest:
for chunk in file.chunks():
dest.write(chunk)
message="success"
to_return['message']= message
serialized = simplejson.dumps(to_return)
if store_message == "success":
return HttpResponse(serialized, mimetype="application/json")
else:
return HttpResponseServerError(serialized, mimetype="application/json")
编辑:
我在 @FabrícioMatté 的帮助下完成了这个工作
xhr.onreadystatechange=function(){
if (xhr.readyState==4 && xhr.status==200){
console.log('xhr.readyState=',xhr.readyState);
console.log('xhr.status=',xhr.status);
console.log('response=',xhr.responseText);
var data = $.parseJSON(xhr.responseText);
var uploadResult = data['message']
console.log('uploadResult=',uploadResult);
if (uploadResult=='failure'){
console.log('failed to upload file');
displayError('failed to upload');
}else if (uploadResult=='success'){
console.log('successfully uploaded file');
}
}
}
最佳答案
像下面的代码应该可以完成这项工作:
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState === 4) {
var response = JSON.parse(xmlhttp.responseText);
if (xmlhttp.status === 200) {
console.log('successful');
} else {
console.log('failed');
}
}
}
关于javascript - 如何查明 XMLHttpRequest.send() 是否有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10876123/
我想做的是弄清楚如何查看 for 循环中的数据是否满足特定条件。我想使用 if 语句来执行此操作(除非有更好的方法),但我遇到的麻烦是数据位于 for 循环内,并且代码不希望我使用该循环之外的值环形。
我想知道 GL_TEXTURE_2D 在着色器中是否处于事件状态。 我将颜色绑定(bind)到着色器以及事件纹理(如果设置了 GL_TEXTURE_2D)并且需要将这两者结合起来。 因此,如果绑定(b
我正在使用 Google map ,并试图找出一个点是否位于其他两个点之间。到目前为止我所做的方法是制作两个向量。一个在两个“检查”点之间,一个在“检查”点之一与"new"点之间。计算出向量后,我对它
我正在制作一款游戏,您将鼠标悬停在目标上单击(射击)。我想知道如何确定 BufferedImage 是否被点击。 我有这样的代码: import javax.swing.*; import java.
我正在用Java开发一个程序,它使用processbuilder来启动另一个java程序,到目前为止,让另一个程序运行没有问题,但是我需要查明另一个程序是否干净地退出或抛出异常(具体来说)我正在寻找
我通常会检查 if obj.pk 以了解对象是否已保存。但是,如果您在某些字段上设置了 primary_key = True,这将不起作用。例如,我在 UserProfile 上设置了 user =
我正在使用 geyser 的混合 Android 应用程序。我想告知用户,如果他进入我网站的移动版本,就可以下载此应用程序。问题是,应用程序中运行的浏览器可以查看与移动网站几乎相同的内容。 如果我在应
我们正在尝试用某种优惠券作为奖励,只要在设备上完成新安装,就可以在实体店兑换。我们对此做了一些试验,并验证它是一个基于 IMEI 和 IMSI 的新设备。但我们发现人们在一些模拟器上这样做,这些 ID
我试图弄清楚如何查看 MotionEvent 何时完成某个事件(即,用户按下屏幕,四处拖动,然后将手指从屏幕上移开)。在文档中,我只看到 getEventTime 在事件开始时生成,但没有提及如何确定
我需要最快的方法来查看 IP 地址是否可达。在每个 IP 地址上都有一个服务器在特定端口上监听,所以如果您的方法是要查找服务器是否在端口上监听,请告诉我。 这样做的原因是假设我有 10 个 ip 地址
我有很多代码可以做这样的事情 bool GetIsUnique(IEnumerable values) { return values.Count() == values.Distinct()
在 Java 中,当由于缺少空间而无法显示 JLabel 的文本时,文本将被截断并在末尾添加“...”。 我怎样才能轻松找出当前 JLabel 显示的是全文还是截断的文本? 编辑: 我看到有一种方法可
是否可以编写类型特征,例如 is_callable它告诉对象是否有 operator()定义?如果事先知道调用运算符的参数很容易,但不是在一般情况下。当且仅当至少定义了一个重载调用运算符时,我希望特征
我有一个包含一些 HTML 代码的字符串。我想知道 HTML 代码是否代表可见文本或图像。我使用 Java 使用以下正则表达式来解决这个问题(我知道你无法使用 RegExps 解析 HTML,但我认为
如果 3D 空间中的三角形(由其顶点和法线指定)从 3D 空间中的给定点可见(由其 x、y 和 z co 指定),我想编写一个返回“True”的函数rds) 鉴于空间中的其他三角形可能充当“障碍物”,
我有一个从数据库中获取的 Item 的 List。 我做了类似的事情: List list; list.stream() .filter( i -> i.condition() ) .
如果是下面的方法 template void report(std::ostream&str, Args&&... args) { (str void report(std::ostream
我正在构建一个动态古腾堡 block ,需要根据事件插件进行不同的渲染。我知道有PHP函数is_plugin_active 。是否有等效的或“解决方法”可以从 JavaScript 中找到它?或者我需
我构建了一个使用表单例份验证的 ASP.NET 应用程序。在我们的托管帐户控制面板中,我设置了一项自动化任务,每周请求一次网页。页面加载时,会发送出许多电子邮件。 我只是想知道是否有任何方法可以在代码
我有一个自定义的 JDialog,是为了解决一些本地问题(RTL 等)到目前为止,它只有一个“确定”选项,我现在必须修改它才能有一个取消按钮。我就是这么做的。现在唯一的问题是我不知道如何从中获取输入,
我是一名优秀的程序员,十分优秀!