如何在AJAX查询中检查'undefined'变量?

时间:2018-03-20 12:55:58

标签: javascript ajax undefined

测试JavaScript中是否未定义变量的最合适方法是什么?

$.ajax({
    type: method,
    url: url,
    success: function (data) {
        if (form != null || form != undefined){
            data = $(form).serialize();
        }
        var json =  JSON.parse(data),
            list = $(table).html(),
            compileTemplate = Handlebars.compile(list),
            result = compileTemplate(json),
            content = doc.getElementById(element);
        content.innerHTML = result;
    },
    dataType: "text"
});

我正在寻找一种更美妙的检查方式。

2 个答案:

答案 0 :(得分:2)

在检查值之前首先检查它是否未定义,这样就不会引发错误。它还需要AND(&&)而不是OR(||)。

这样做的官方方法是检查类型。

更改'if'语句以说明这一点:

if (typeof(form) !== "undefined" && form != null) {

答案 1 :(得分:0)

如果form != null既不是form null,那么您只需测试undefined即可。

$.ajax({
    type: method,
    url: url,
    success: function (data) {
        if (form != null){
            data = $(form).serialize();
        }
        var json =  JSON.parse(data),
            list = $(table).html(),
            compileTemplate = Handlebars.compile(list),
            result = compileTemplate(json),
            content = doc.getElementById(element);
        content.innerHTML = result;
    },
    dataType: "text"
});