检查对象是否包含 jQuery / ajax 中的 X
Checking if object contains X in jQuery / ajax
我该如何检查 API 编辑的对象 return 是否包含 X?
这是我得到的最接近的,没有任何错误:
$.ajax(settings).done(function (response) {
var email_response = {response};
if (Object.values((JSON.stringify(email_response))).indexOf('"response"') > -1) {
console.log('Is valid');
else (console.log('Not valid'));
});
在 运行 之后,它会产生来自 if else
函数的“无效”响应,即使文本“有效”出现在“有效”的 return 中将是预期的结果。
使用 console.log(JSON.stringify(email_response));
进行字符串化,这是 return 从 API 编辑的内容:
{"response":{"address":"test@domain.com","status":"valid","sub_status":"role_based_catch_all","free_email":false,"did_you_mean":null,"account":"test","domain":"domain.com","domain_age_days":"10116","smtp_provider":"","mx_found":"true","mx_record":"mx.domain.com","firstname":null,"lastname":null,"gender":null,"country":null,"region":null,"city":null,"zipcode":null,"processed_at":"2022-03-12 12:41:38.306"}}
我也尝试过不对其进行字符串化,但这与上面解释的结果相同。
以下也看不到指定的文本:
Object.keys(email_response).forEach(function(key) {
if ((email_response)[key] == 'valid') {
console.log('Is valid');}
else (console.log('Not valid'));
});
如果您想获取一些数据,则不必进行字符串化
$.ajax(settings).done(function (response) {
var status= response.status; // valid
//or
console.log("status",response.status); // valid or undefined
});
但如果出于某些原因您想创建一个新对象,请使用此代码
var email_response = {"response":response};
var status= email_response.response.status; // valid
valid
不是键,而是值。您需要像这样检查密钥 status
。
$.ajax(settings).done(function (response) {
if (response.hasOwnProperty('status') && response.status === 'valid') {
console.log('Is valid');
} else {
console.log('Not valid');
}
});
我该如何检查 API 编辑的对象 return 是否包含 X?
这是我得到的最接近的,没有任何错误:
$.ajax(settings).done(function (response) {
var email_response = {response};
if (Object.values((JSON.stringify(email_response))).indexOf('"response"') > -1) {
console.log('Is valid');
else (console.log('Not valid'));
});
在 运行 之后,它会产生来自 if else
函数的“无效”响应,即使文本“有效”出现在“有效”的 return 中将是预期的结果。
使用 console.log(JSON.stringify(email_response));
进行字符串化,这是 return 从 API 编辑的内容:
{"response":{"address":"test@domain.com","status":"valid","sub_status":"role_based_catch_all","free_email":false,"did_you_mean":null,"account":"test","domain":"domain.com","domain_age_days":"10116","smtp_provider":"","mx_found":"true","mx_record":"mx.domain.com","firstname":null,"lastname":null,"gender":null,"country":null,"region":null,"city":null,"zipcode":null,"processed_at":"2022-03-12 12:41:38.306"}}
我也尝试过不对其进行字符串化,但这与上面解释的结果相同。
以下也看不到指定的文本:
Object.keys(email_response).forEach(function(key) {
if ((email_response)[key] == 'valid') {
console.log('Is valid');}
else (console.log('Not valid'));
});
如果您想获取一些数据,则不必进行字符串化
$.ajax(settings).done(function (response) {
var status= response.status; // valid
//or
console.log("status",response.status); // valid or undefined
});
但如果出于某些原因您想创建一个新对象,请使用此代码
var email_response = {"response":response};
var status= email_response.response.status; // valid
valid
不是键,而是值。您需要像这样检查密钥 status
。
$.ajax(settings).done(function (response) {
if (response.hasOwnProperty('status') && response.status === 'valid') {
console.log('Is valid');
} else {
console.log('Not valid');
}
});