我將如何檢查 API 回傳的物件是否包含 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,即使回傳中存在文本“有效”,其中“有效”將是預期結果。
使用console.log(JSON.stringify(email_response));這個字串化的是從 API 回傳的內容:
{"response":{"address":"[email protected]","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'));
});
uj5u.com熱心網友回復:
valid不是鍵,而是值。您需要像這樣檢查密鑰status。
$.ajax(settings).done(function (response) {
if (response.hasOwnProperty('status') && response.status === 'valid') {
console.log('Is valid');
} else {
console.log('Not valid');
}
});
uj5u.com熱心網友回復:
如果要獲取一些資料,則不必進行字串化
$.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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/443375.html
標籤:javascript jQuery 阿贾克斯
