我检测到损坏的图像和损坏的 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 的控制台日志中,我可以在其中看到对象和 src,但是当 ajax 发送它们并将它们捕获到 php 中时,没有任何 broken_src
//Sent Script Data
$.ajax({
type: "POST",
url: ajax_url,
data: {
imageData: brokenImages
},
success: function(result){
console.log(result);
}
});
});
成功获取它们时无法将它们存储在 brokenImages 变量中。