我想使用jQuery异步加载我的页面上的外部图像,我尝试了以下内容:
$.ajax({
url: "http://somedomain.com/image.jpg",
timeout:5000,
success: function() {
},
error: function(r,x) {
}
});
Run Code Online (Sandbox Code Playgroud)
但它总是返回错误,甚至可以像这样加载图像?
我尝试使用.load方法并且它可以工作,但我不知道如果图像不可用我怎么能设置超时(404).我怎样才能做到这一点?
如果上传的文件没有扩展名,我是否必须指定MIME类型?换句话说,是否有默认的通用MIME类型?
我有一些Javascript JQuery代码,每隔5分钟对服务器进行一次Ajax调用,这是为了让服务器会话保持活动并保持用户登录.我$.ajax()在JQuery中使用方法.这个函数似乎有一个'错误'属性,我试图在用户的互联网连接断开时使用,以便KeepAlive脚本继续运行.我正在使用以下代码:
var keepAliveTimeout = 1000 * 10;
function keepSessionAlive()
{
$.ajax(
{
type: 'GET',
url: 'http://www.mywebapp.com/keepAlive',
success: function(data)
{
alert('Success');
setTimeout(function()
{
keepSessionAlive();
}, keepAliveTimeout);
},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
alert('Failure');
setTimeout(function()
{
keepSessionAlive();
}, keepAliveTimeout);
}
});
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我会在屏幕上每10秒钟在一个警告框中弹出"成功",这很好.但是,一旦我拔下网线,我就什么也得不到,我期待错误功能被调用并看到"故障"警告框,但没有任何反应.
假设'错误'功能仅适用于从服务器返回的非'200'状态代码,我是否正确?有没有办法在进行Ajax调用时检测网络连接问题?
我正在使用jQuery来发出AJAX请求.无论HTTP状态代码是400错误还是500错误,我都想执行不同的操作.我怎样才能做到这一点?
$.ajax({
type: 'POST',
url: '/controller/action',
data: $form.serialize(),
success: function(data){
alert('horray! 200 status code!');
},
error: function(data){
//get the status code
if (code == 400) {
alert('400 status code! user error');
}
if (code == 500) {
alert('500 status code! server error');
}
},
});
Run Code Online (Sandbox Code Playgroud)
@GeorgeCummins提到与响应机构合作"似乎很奇怪".这是我第一次尝试做这类事情.我的方法不是最佳做法吗?你会推荐什么?我在这里为此创建了另一个StackOverflow问题:当存在用户/表单验证错误时,我应该向AJAX请求发送什么响应/状态代码?
我需要验证图片网址以检查网址是否是这些扩展程序的图片: - jpeg,jpg,gif,png.示例: - 当我们验证此URL http://www.example.com/asdf.jpg时,它应该给我们真正的价值,并且像这样的url http://www.example.com/asdf.php应该返回false.我们如何在javascript中执行此操作,并且还要检查URL的内容类型.这样我们就可以说网址是否是图像.
javascript ×3
jquery ×3
ajax ×2
image ×2
function ×1
jquery-load ×1
mime ×1
mime-types ×1
url ×1
verify ×1