[英]set javascript variable from an ajax request globally?
我在這里有這個ajax代碼:
<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變量以在if語句中使用它們。
我想在我的代碼中使用像這樣的變量:
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">')
}
但是我不知道如何全局設置tld變量以在代碼中的任何地方使用它。
謝謝你的幫助!
嘗試在范圍之外全局定義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>
tld
變量的范圍包含在AJAX調用中。 它僅在其定義范圍內可用。 我已將其移到您的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>
您應該檢查字符串,而不是.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">')
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.