Javascript AJAX调用不从if语句内部触发

Javascript AJAX调用不从if语句内部触发,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有以下代码。UI中有一个按钮,单击该按钮时执行if语句。我从数据库中传入一个URL,并将其与用户所在的当前URL进行比较。如果它们匹配,我想运行下面的代码,否则我想打开正确的选项卡,然后运行下面的代码 对于下面的代码,我指的是从$('#sceanrioDropdownList')开始的下面的所有内容。然后,代码检查下拉列表并获取所选Id,通过该Id对我的web API进行AJAX调用,该API在存储过程中使用该Id返回结果。然后对返回的数据进行迭代,并将其存储在变量中,我使用该变量将其附加到特

我有以下代码。UI中有一个按钮,单击该按钮时执行
if
语句。我从数据库中传入一个URL,并将其与用户所在的当前URL进行比较。如果它们匹配,我想运行下面的代码,否则我想打开正确的选项卡,然后运行下面的代码

对于下面的代码,我指的是从
$('#sceanrioDropdownList')开始的下面的所有内容
。然后,代码检查下拉列表并获取所选Id,通过该Id对我的web API进行AJAX调用,该API在存储过程中使用该Id返回结果。然后对返回的数据进行迭代,并将其存储在变量中,我使用该变量将其附加到特定的输入、按钮和下拉列表中

这就是我到目前为止所做的,我认为我已经正确地开发了它。我目前面临的问题是,如果
if
语句为
true
,UI希望运行
..
中的所有内容。我尝试了CTRL+C和CTRL+V将代码复制到
if
语句中。我还尝试将其放入新建函数并在
if
语句中引用该函数。两者都不起作用,我正在使用
console.log
检查返回的数据

然而,当我试图从I语句内部调用它时,它并没有返回任何数据或错误。它只是看起来并没有启动

有什么方法可以实现我想要的功能吗?对于我是否做错了什么,你有什么建议吗?提前谢谢

$(“#自动”)。单击(自动按钮);
函数自动按钮(){
如果(webpageUrl==activeTabUrl){
//无所事事
}否则{
//窗口打开了
打开(网页URL);
}
}
$('#scenarioDropdownList')。更改(函数(){
var scenarioId=$('#scenarioDropdownList选项:selected').prop('id');
getData(场景ID);
});
函数getData(场景ID){
$.ajax({
键入:“获取”,
网址:'http://localhost:54442/api/scenariodatas/GetScenarioData',
数据:{
场景类:场景类
},
数据类型:“JSON”,
成功:scenarioData,
错误:函数(){
log(“检索数据时出错”);
}
});
}
功能场景数据(响应){
$。每个(响应、功能(键、val){
var fieldType=val.fieldType;
var fieldName=val.fieldName;
var fieldValue=val.fieldValue;
变量字段=$(字段名);
如果(字段!=未定义){
开关(现场型){
案例“输入”:
$(字段).val(字段值);
打破
案例“按钮”:
$(字段)。单击();
打破
案例“选择”:
$(字段).val(字段值);
打破
}
}
})
}

onChange不能很好地使用按钮,因为onChange检测到组件值的变化,因此,强烈建议在使用按钮时使用onClick

$('#scenarioDropdownList').click(function() {
  var scenarioId = $('#scenarioDropdownList option:selected').prop('id');
  getData(scenarioId);
});
我建议您在尝试测试此类JS时发出警报 EJM:


此警报允许您知道代码是否正在启动

多亏了您的建议,我已经更改了代码。不幸的是,ajax调用仍然没有启动。
$('#scenarioDropdownList').change(function() {
alert('button active');
  var scenarioId = $('#scenarioDropdownList option:selected').prop('id');
  getData(scenarioId);
});