【问题标题】:How to fulfill the condition correctly "If" in javascript如何在javascript中正确满足条件“如果”
【发布时间】:2021-08-17 11:37:15
【问题描述】:
            function UserCheckId() {
                $.ajax({
                    type: "POST",
                    dataType: "json",
                    url: "/Home/SomeAction",
                    data: { qrcode: scannedQR[txt] },
                    dataType: 'json',
                    success: function (data) {
                            if (data = "Storekeeper") {
                                document.location.replace("/Storekeeper.aspx");
                            }
                            else {
                                alert("Error");
                            }
                    }
                });

有一个 UserCheckId 函数,我在其中从 C# 调用 SomeAction 函数(它返回一个字符串值)并将结果传递给 Javascript。之后,我想检查结果的值是多少。如果是“Storekeeper”,则转到该站点,否则会弹出错误。问题是无论值是什么(例如,C# 将返回值“Collector”),Storekeeper 的条件在任何情况下都满足。我用警报检查了数据,它正确输出了字符串值。该怎么办?请帮帮我!

【问题讨论】:

  • 我不明白这一行. The problem is that whatever the value is (for example, C # will return the value "Collector"), the condition for the Storekeeper is met in any case.
  • = 是一个作业。用于比较使用=====。 assinment 将始终返回分配的值,因为这是非空字符串,在 if 的条件内,它将评估为真值,因此将执行 if 的第一个分支。
  • console.log(data)看看它打印了什么。
  • @Swati 如果你把它放在if 之前,它将打印dataif 之前的任何值。如果你把它放在if 之后,它会在if 之后打印Storekeeper,因为这是data 在条件if(data = "Storekeeper") 中分配的值

标签: javascript c# asp.net json ajax


【解决方案1】:

要检查 javascript 中的相等性,请使用严格相等运算符===,它将检查类型和值。在任何比较操作之前也总是标准化(如修剪、toLowerCase 等)

if (data?.trim().toLowerCase() === "storekeeper") {

【讨论】:

  • 不确定你为什么使用toLowerCase,他可能不想接受例如"STOREKEEPER".
  • 最好在进行任何比较操作之前进行归一化。像 trim、toLowerCase,这样任何不需要的空格或大写字母都可以处理
  • 不,这不是“更好”。有时可能合适,有时不合适。
  • 不不感谢您的反馈,请保留此信息。
  • OP 的问题(可能)与值的大小写无关。主要问题是,他使用了赋值(=)而不是比较(=====)。您应该在回答中提到这一点。 "always normalize ..." 也不是一个有效的假设,因为这可能不适用于所有情况,在这些情况下,人们想要区分 "Storekeeper""storekeeper""STOREKEEPER"跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-14
  • 2021-11-11
  • 1970-01-01
  • 1970-01-01
  • 2018-08-24
  • 2019-07-19
  • 1970-01-01
相关资源
最近更新 更多