从全局的ajax请求设置javascript变量?

时间:2016-08-09 10:38:23

标签: javascript jquery ajax

我在这里有这个ajax代码:

$PATH

此代码有效但我的问题是我想全局设置tld变量以在if语句中使用它们。

我想在我的代码中使用这样的变量:

<script>
    $('a[data-id]').click(function () {
        var id = $(this).attr('data-id');
        var domain = $(this).attr('data-domain');
        $.ajax({
            url: 'getdata',
            type: 'GET',
            dataType: 'json',
            data: {id: id, domain: domain},
            success: function (data) {
                var domains = data.name + data.tld;
                var tld = data.tld;
                $('.resultdomain').html(domains);

            }
        });
    });
</script>

但是我无法弄清楚如何全局设置tld变量以在我的代码中的任何地方使用它。

感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

尝试在范围

范围内全局定义tdl变量
<script>
      var tdl;
      $('a[data-id]').click(function () {
        var id = $(this).attr('data-id');
        var domain = $(this).attr('data-domain');
        $.ajax({
            url: 'getdata',
            type: 'GET',
            dataType: 'json',
            data: {id: id, domain: domain},
            success: function (data) {
                var domains = data.name + data.tld;
                tld = data.tld;
                $('.resultdomain').html(domains);
                 if(tld == .de)
                 {
                    document.write('<img src="imagelink.png" alt="denic" class="pull-right">')
                 }
                 elseif(tld == .com)
                 {
                    document.write('<img src="otherimagelink.png" alt="core" class="pull-right">')
                 }
            }
        });
    });


</script>

答案 1 :(得分:1)

{AJ}调用中包含tld变量的范围。它只能在其定义范围内使用。我把它移到你的AJAX电话之外。

   <script>
        var tld;
        $('a[data-id]').click(function () {
            var id = $(this).attr('data-id');
            var domain = $(this).attr('data-domain');
            $.ajax({
                url: 'getdata',
                type: 'GET',
                dataType: 'json',
                data: {id: id, domain: domain},
                success: function (data) {
                    var domains = data.name + data.tld;
                    tld = data.tld;
                    $('.resultdomain').html(domains);

                }
            });
        });
    </script>

答案 2 :(得分:0)

您应该检查字符串,而不是.de,而是".de"

    if(tld == ".de")
    {
        document.write('<img src="imagelink.png" alt="denic" class="pull-right">')
    }
    elseif(tld == ".com")
    {
        document.write('<img src="otherimagelink.png" alt="core" class="pull-right">')
    }