Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript <;中的onerror属性;对象>;标签_Javascript_Jquery_Html_Onerror - Fatal编程技术网

Javascript <;中的onerror属性;对象>;标签

Javascript <;中的onerror属性;对象>;标签,javascript,jquery,html,onerror,Javascript,Jquery,Html,Onerror,我目前正在尝试使用VLC插件和html对象标记以以下方式播放.wav文件列表: $.each(rdata['results'],function(key,data) { newRow += '<div class="row-fluid"><div class="span3"><label>Name : ' + data['recordingId'] + '.wav</label></div>'; newRow += '&

我目前正在尝试使用VLC插件和html对象标记以以下方式播放.wav文件列表:

$.each(rdata['results'],function(key,data)
{
    newRow += '<div class="row-fluid"><div class="span3"><label>Name : ' + data['recordingId'] + '.wav</label></div>';
    newRow += '<div class="span2"><label>duration : ' + data['duration']+ '</label></div><div class="span4" style="background: transparent url(img/ajax-loader.gif) no-repeat">';
    newRow += '<object data=' + audioUrl +' type="application/x-google-vlc-plugin" width="300" height="30" onerror="error()"></object></div><div style="width:20%"><button type="button" class="btn showShareModal" data-toggle="modal">Share Feedback</button><button type="button" class="btn showRaiseModal" data-toggle="modal">Raise Issue</button></div></div><hr/>';
}
但是,即使audioUrl抛出内部服务器错误,OneError也不会被触发。有人能告诉我为什么会这样吗


谢谢。

在您的成功回访中:

success: function(data) 
{
    console.log("success from " + apiUrl);
    var rdata = $.parseJSON(data);

    $.each(rdata['results'],function(key,data){
        audioUrl = baseUrl + data['recordingId'];
        newRow += '<div class="row-fluid"><div class="span3"><label>Name : ' + data['recordingId'] + '.wav</label></div>';
        newRow += '<div class="span2"><label>duration : ' + data['duration']+ '</label></div><div class="span4" style="background: transparent url(img/ajax-loader.gif) no-repeat">';
        newRow += '<object data=' + audioUrl +' type="application/x-google-vlc-plugin" width="300" height="30" onerror="error()"></object></div><div style="width:20%"><button type="button" class="btn showShareModal" data-toggle="modal">Share Feedback</button><button type="button" class="btn showRaiseModal" data-toggle="modal">Raise Issue</button></div></div><hr/>';
    });
},
成功:函数(数据)
{
console.log(“成功来自”+apirl);
var rdata=$.parseJSON(数据);
$.each(rdata['results'],函数(键,数据){
audioUrl=baseUrl+data['recordingId'];
newRow++'Name:'+data['recordingId']+'.wav';
newRow+='持续时间:'+数据['duration']+';
newRow+=“股份反馈募集问题
”; }); },

看起来您正在
newRow
中构造HTML字符串,但实际上并没有将其插入DOM的任何位置。您需要执行类似于
$(document.body)的操作。追加($(newRow))
(如果您想将其添加到HTML正文的末尾,这只是一个示例)。

但是我会在函数的末尾返回新行吗?然后将其附加到代码中其他位置的DOM中。行得通。。虽然当我单击音频上的播放按钮时,控制台中出现500个内部服务器异常,但没有出现警报。现在返回一个空的新行。success:函数直到ajax请求返回后才被调用。要查看这一点,请在函数末尾返回newRow之前添加console.log。它将在您在success:函数中打印的“success from…”消息之前打印。您基本上需要在success:函数中再次将newRow添加到DOM中。。。该行仅在ajax函数执行完毕后显示。。。但我同意。但是,按照您的方式做事会有助于onerror启动吗?好吧,我假设是这样,因为目前您似乎根本没有加载新数据(来自ajax请求)。
function error()
{
    alert("Resource load error");
}
success: function(data) 
{
    console.log("success from " + apiUrl);
    var rdata = $.parseJSON(data);

    $.each(rdata['results'],function(key,data){
        audioUrl = baseUrl + data['recordingId'];
        newRow += '<div class="row-fluid"><div class="span3"><label>Name : ' + data['recordingId'] + '.wav</label></div>';
        newRow += '<div class="span2"><label>duration : ' + data['duration']+ '</label></div><div class="span4" style="background: transparent url(img/ajax-loader.gif) no-repeat">';
        newRow += '<object data=' + audioUrl +' type="application/x-google-vlc-plugin" width="300" height="30" onerror="error()"></object></div><div style="width:20%"><button type="button" class="btn showShareModal" data-toggle="modal">Share Feedback</button><button type="button" class="btn showRaiseModal" data-toggle="modal">Raise Issue</button></div></div><hr/>';
    });
},