【发布时间】:2018-05-15 11:01:04
【问题描述】:
我检测到损坏的图像和损坏的 src 并将它们存储到对象中但无法将它们存储到对象中,因为我认为错误函数和将它们捕获到对象之间存在时间差,请检查我的代码。
我成功获得了 src 但无法将它们存储在对象变量中并通过 ajax 将它们传递到后端。我认为通过调试测试它
brokenImages.current_url = currentUrl;
brokenImages.broken_src = brokenSrc;
在错误函数之前运行,但在 brokenImages 变量中什么也没有。
jQuery(document).ready(function($){
//Check Image Error
var i = 0;
var currentUrl = window.location.href;
var brokenImages = new Object();
var brokenSrc = new Object();
$('img').on('error', function(event){
var link = event.target.src;
console.log('check '+link + ' num ' + i);
brokenSrc[i] = link;
i++;
});
//alert(brokenSrc);
//Like if I put alert brokenSrc object here I get them in ajax and php
console.log(' broken src ');
console.log(brokenSrc);
brokenImages.current_url = currentUrl;
brokenImages.broken_src = brokenSrc;
console.log( ' broken images ' );
console.log(brokenImages);
//在chrome和firefox的控制台日志中可以看到object和srcs 他们但是当 ajax 发送它们并将它们捕获到 php 中时 没有任何损坏的_src
//Sent Script Data
$.ajax({
type: "POST",
url: ajax_url,
data: {
imageData: brokenImages
},
success: function(result){
console.log(result);
}
});
});
在成功获取它们时无法将它们存储在 brokenImages 变量中。
【问题讨论】:
-
api.jquery.com/error 您是否在问如何在不先检查文档的情况下修复
error()调用?这真的不是stackoverflow的工作方式。问一个问题应该是绝对的最后手段。 jsfiddle.net/4n3f3sbr/1 -
@ChrisG 不,我不是在问这个错误函数正在运行,我成功收到错误但无法进入对象并将它们传递到后端,因为将它们分配给在错误函数之前运行的对象。请帮忙
标签: javascript jquery ajax broken-links broken-image