关于Ajax中this失效

Posted 水好凉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Ajax中this失效相关的知识,希望对你有一定的参考价值。

   citychange(".provincedata", ".citydata");
        citychange(".citydata", ".areadata");
        function citychange(change, add) {//改变的dom  插入的dom
            $(change).change(function () {
                var code = $(change).find("option:selected").attr("data-code");
                var str = Get_lsdata("code" + code); //拿到缓存中的数据
                var obj = $(this);-------------------------------------------------------------在这个位置把this给到一个变量中
                if (str != null && str != "") {
                    $(this).siblings(add).html(str);
                } else {
                    $.ajax({
                        url: "/SystemManageAction/GetCityByProvince",
                        type: "post",
                        dataType: "json",
                        data: { pcode: code },
                        success: function (data) {
                            if (data.result == 1) {
                                var str = "";
                                var data = JSON.parse(data.data);
                                for (var i = 0; i < data.length; i++) {
                                    str += " <option   data-code=" + data[i].Code + ">";
                                    str += data[i].Name;
                                    str += " </option >";
                                }
                                Set_lsdata("code" + code, str);//缓存字符串
                                $(obj).siblings(add).html(str);      -------------------------此处如果是$(this)则代表的是ajax这个对象
                            } else {
                                alert("获取信息失败,请刷新再试!")
                            }
                        },
                        error: function () {
                            alert("服务器异常!")
                        }
                    })
                }
              
            })
        }

 

以上是关于关于Ajax中this失效的主要内容,如果未能解决你的问题,请参考以下文章

关于PHP中foreach循环修改数组值失效的问题

Spring MVC 3.2 Thymeleaf Ajax 片段

element-ui关于获取from表单项整个对象的方法,以及this.$refs[formName].resetFields()清除失效情况

AJAX相关JS代码片段和部分浏览器模型

ajax+lazyload时lazyload失效问题及解决

关于ajax异步请求不到数据的问题 302跨域请求