我有jquery函数,它使用json从PHP打印一些文本。它在chrome中运行良好,但我在IE边缘有这个奇怪的错误。 对象不支持属性或方法。
$(function() {
$( "#catlist ul" ).sortable({
placeholder: "ui-state-highlight",
stop: function( event, ui ) {
var list = ui.item.parent();
var sorted = list.sortable( "toArray", { key: "catid[]" } );
$.post( "catalog_ajax.php", { cmd: "reorder", sorted: sorted}, function( data ) {
if (data.code=='OK') {
} else {
alert('NOK');
}
},'json');
}
});
$( "#catlist ul" ).disableSelection();
$('.prodcat-remove').on('click', function(e) {
e.preventDefault();
var ajaxurl = $(this).data('href');
if (confirm('Czy na pewno chcesz usunąć?')) {
$.getJSON(ajaxurl, function (response) {
if (response.hasOwnProperty('success')) {
if (response.success) {
$('#catid_'+response.success).remove();
} else {
alert('Nie udało się usunąć kategorii, spróbuj ponownie później.');
}
} else {
if (confirm("Uwaga!\n" + Object.values(response).join("\n"))) {
$.getJSON(ajaxurl + '&force=1', function (response) {
if (response.hasOwnProperty('success')) {
if (response.success) {
$('#catid_'+response.success).remove();
} else {
alert('Nie udało się usunąć kategorii, spróbuj ponownie później.');
}
} else {
alert("Nie można usunąć katalogu\n" + Object.values(response).join("\n"));
}
});
}
}
});
}
});
它的突破
if(confirm("Uwaga!\n"+Object.values(response).join("\n")))
我不知道这个问题是什么......
答案 0 :(得分:2)
.values - 您可以使用.map来获取所有值的数组:
var vals = Object.keys(countries).map(function(key) {
return countries[key];
});
答案 1 :(得分:2)
阅读Object.values()
的文档,您会看到不支持Internet Explorer,但它支持Chrome / Firefox / Edge
相反,您可以使用
Object.keys(response).map(k=>response[k])
从IE9开始支持