javascript - 显示警报而不是重定向到内部服务器错误页面?
问题描述
有什么方法可以显示警报而不是 500 Internal Server Error 页面?我有一个预测按钮,每当我单击该按钮时,我都想显示警报,而不是将我重定向到另一个页面并显示错误。这是我的ajax请求:
$(document).ready(function() {
$(".myButton").click(function(){
var $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
var canvasObj = document.getElementById("canvas");
var img = canvasObj.toDataURL();
$.ajax({
type: "POST",
url: $SCRIPT_ROOT + "/predict/",
data: img,
error: function(err) {
alert('Error'+ err);
},
success: function(data){
$('#result').text(' Predicted Output: '+data);
}
});
});
});
这是我的html:
<form id="predictbutton" action="/fourthtask/predict" method="post" enctype="multipart/form-data">
<!-- <input type="file" name="image" value="Upload">-->
<input class="btn btn-success myButton" type="submit" value="Predict">
</form>
我不确定我哪里出错了。我会很感激你的帮助。谢谢你。
编辑:我这样做是故意的,因为这就是该工具的工作方式,但我不想向用户显示 500 内部服务器错误页面,而是我想将其显示为警报或模式。服务器端在烧瓶中。
解决方案
结果显示为新页面,因为您正在提交表单。
这与请求的成功或失败无关。
表单将始终提交并始终将结果显示为新页面。
如果您想阻止它提交以便 Ajax 请求可以运行,那么您需要阻止提交按钮的默认行为:
$(".myButton").click(function(e){
e.preventDefault();
var $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
推荐阅读
- php - 使用循环对数据中的项目和计数进行分组
- angular - Angular:为什么这段代码不会产生警报?
- regex - 在替换正则表达式中使用变量
- java - 每个实体或表的 Hibernate_Sequence
- r - ggplot2 将图例移入绘图区域,键周围没有边框
- java - JDBC中Connection.getWarnings()和Statement.getWarnings()的区别?
- python - 如何在 Python 中使用 psycopg2 将空字符写入 bytea 列
- apache - 带有和不带斜杠的 URL 重写
- couchbase - 如何在沙发库中选择由其他 id 字段过滤的文档?
- r - 如何删除 R 中多个文件中的某些特定列?