JS常见问题总结

202 阅读1分钟

常见问题

1.jquery.min.js:5 POST http://localhost:8080/url 415 (Unsupported Media Type) 如何处理?

$.ajax({
            url: "/url",
            type: "json",
            <!--参数对象转换为json格式-->
            data: JSON.stringify(paramObject),
            <!--添加这个参数解决问题-->
            contentType: "application/json", 
            method: "post",
            success: function(json){
                ……
            }
        });

2.jQuery中ajax配置项中的使用type与method的区别?

本质上两个配置项是没有区别的,区别在于两者出现的时间不同,type对于目前jQuery的版本全部兼容

$.ajax({
    <!--这种方式书写,type类型是GET就是GET请求,是POST请求就是POST请求-->
    <!--一定要把请求方式写到传输数据data的前面,否则有可能报415媒体类型不支持-->
    type: 'POST',
    url: '/url',
    dataType: 'json',
    data: dataObject,
    success: function() {
        ...
    },
    error: function() {
        ...
    }
});
    
# 在jQuery1.9以后的版本中使用ajax时,可以使用如下方式
$.ajax({
    <!--这里不同了,实现的功能是一样的,但是如果此时你引入的jQuery的js文件版本太旧,
    就会出现请求全是以默认方式GET进行的, 所以会出现一些无厘头的bug -->
    method: 'POST',
    url: '/url',
    data: dataObject
    success: function() {
        ...
    },
    error: function() {
        ...
    }
});

4.如何获取表格的第一行第一列和最后一行第一列的信息

# 获取最后一行第一列的内容
$('#privacy-operation-mark-table tr:last').find('td:first').text();

# 获取第一行第一列的内容
$('#privacy-operation-mark-table tr:eq(1)').find('td:first').text();

5.监控页面内下拉框改变

/**
 * 识别下拉框修改作出相应操作
 */
$('#privacyphone-greys-show-div').on('change', 'select', function() {
    // 根据class类进行筛选,
    if ($(this).hasClass("select-tr-th")) {
        ...
        <!--清空控制台-->
        console.clear();
        ...
    }
});

6.动态获取下拉框改变的选项

<!--problem_reason为下拉框-->
$('#problem_reason').find("option:selected").text();

<!--处理同一类型的下拉框的ID和值的映射关系-->
<!--声明映射关系-->
var global_select_condition_map = {
    "supplier-select": "",
    "operation-type-select": "",
    "operator-select": ""
};
$.each($('.select-tr-th'), function(index, obj) {
    global_select_condition_map[obj.id] = obj.value;
});

7.JS的array数据删除对应索引上的值

var array = [1,2,3,4,4,5]
array.splice(i, 1);

8.动态设置下拉框的option为选中状态

<!--把下拉框设置成对应的值-->
$('#select_id').val(value);

9.获取table的tr数量

let curDisplayRows = $("table tr").length;