操作员未在if-else条件下工作



我正在通过ajax 接收数据

$.ajax({
url: ajax_url,
type: 'post',
dataType: "json",
data: { action: 'data_savedInternal', id: saveThis}
success: function(data) {
if( data["found"] = "no"  ) {
console.log(data["count"]);
if(parseInt(data["count"]) <= 2) {
//do something...
} else {
//do something else ...
}
}

CCD_ 1给出CCD_ 2,它应该去CCD_。

除了比较之外,您正在执行任务:

所以改变

if( data["found"] = "no"  ) {

if( data["found"] == "no"  ) {

根据我的说法,如果data["count"] < 2data["count"] == 2(根据<=文件(,则需要使用<=

在我看来,数据类型不匹配导致了中的漏洞(尽管我不确定(

所以请检查一次

if(parseInt(data["count"]) < 2 || parseInt(data["count"]) === 2) {
//do something...
} else {
//do something else ...
}

但对我来说,最好、更有效的答案是:-

if(parseInt(data["count"]) > 2) {
//do something else ...
} else {
//do something...
}
if(parseInt(data["count"]) <= 2) {


在javascript中,<=表示小于或等于,因此不使用<=,而是使用console.log(data["count"]);0:

if(parseInt(data["count"]) < 2) {



这是您的代码:

$.ajax({
url: ajax_url,
type: 'post',
dataType: "json",
data: { action: 'data_savedInternal', id: saveThis}
success: function(data) {
if( data["found"] = "no"  ) {
console.log(data["count"]);
if(parseInt(data["count"]) < 2) {
... do something...
} else {
... do something else ...
}
}

您必须使用三重等于才能实现这一点。Single equals simple将值分配给左侧

if( data["found"] === "no"  ) {

同时从中删除相等项

if(parseInt(data["count"]) <= 2) { 

if(parseInt(data["count"]) === 2) { 

最新更新