javascript - Jquery对象不支持属性或方法 "values"

标签 javascript php jquery json

我有 jquery 函数,它使用 json 从 PHP 打印一些文本。它在 Chrome 中工作正常,但在 IE Edge 中出现这个奇怪的错误。 对象不支持属性或方法。

    $(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")))

我不知道问题出在哪里......

最佳答案

.values 在许多浏览器中不受支持 - 您可以使用 .map 获取所有值的数组:

 var vals = Object.keys(countries).map(function(key) {
        return countries[key];
    });

关于javascript - Jquery对象不支持属性或方法 "values",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44754197/

相关文章:

javascript - AngularJS 指令观察父大小变化

javascript - 如何在 Angular js 中添加具有动态输出的链接

javascript - 当变量改变值时图表不改变值

javascript - Slick.js 和多个 Twitter Bootstrap Modal Windows

javascript - 在调用通过同一函数 [ session 超时] 显示计时器的 JavaScript 函数之前清除标签

php - jQuery AJAX POST 给出 undefined index

javascript - import Vue from 'vue' 将 "different"Vue 导入不同的文件

PHP 性能 file_get_contents() 与 readfile() 和 cat

PHP域whois脚本不返回所有信息

php - 如何检查表列中是否存在特定值