私はWebアプリケーションを構築しており、ログインサイトを構築する必要があります。このjavascriptオブジェクトをループして、入力フォームのユーザー入力(現時点で必要な電子メール(「EML」のみ)をデータと比較して、入力が正しいことを確認するにはどうすればよいですか?私は何かを作ろうとしましたが、その下のforループを思いついたのはちょうど混乱です。 (オブジェクトは別のjsファイルにあります) ありがとうございました!オブジェクトをループして結果を入力と比較するには
function validate() {
var un = document.login.username.value;
var pw = document.login.password.value;
var valid = false;
for (var key in responseData) {
if (responseData.hasOwnProperty(key)) {
for (var i = 0; i < key.length; i++) {
if (un == key[i]) {
valid = true;
break;
}
}
}
if (valid) {
alert("Login was successful. Welcome, " + un + ".")
window.location = "https://www.google.com";
return false;
}
}
var responseData = {
authenticatUser: {
"ERR":0,
"RSP":{
"AUTHC":"true",
"USR":{
"ID":"2",
"TJT":"FULL",
"ACTV":"true",
"BO":"1489760664786",
"CONT":{
"FNM":"John",
"LNM":"Doe",
"PHN":"5556667777",
"PHNTP":"NONE",
"EML":"[email protected]",
"EMLTP":"NONE"
},
"ADMIN":"false",
"LLOGN":"1489760664786",
"ACCT":{
"ID":"2",
"TJT":"ID"
}
}
}
},
getUserAccountDetails: {
"ERR":0,
"RSP":{
"ACCT":{
"ID":"2",
"TJT":"FULL",
"ACTV":"true",
"BO":"1489760664786",
"LU":"1489760664786",
"NM":"Name",
"DESC":"Description",
"CONT":{
"FNM":"John",
"LNM":"Doe",
"PHN":"5556667777",
"PHNTP":"NONE",
"EML":"[email protected]",
"EMLTP":"NONE"
},
"ADDRM":{
"STRT":"1 Miracle Way",
"CITY":"San Antonio",
"STATE":"Texas",
"ZIP":"78245"
},
"ADDRB":{
"STRT":"1 Miracle Way",
"CITY":"San Antonio",
"STATE":"Texas",
"ZIP":"78245"
},
"TZ":"US_CT",
"LICS":"1",
"REPOS":[
{
"ID":"2",
"TJT":"ID"
},
{
}
],
"USRS":[
{
"ID":"2",
"TJT":"ID"
},
{
}
]
}
}
}
}
jsオブジェクト内のネストされたプロパティにアクセスする方法を尋ねる場合は、[right here](https://stackoverflow.com/questions/11922383/access-process-nested-objects-arrays) - または - json)。また、プレーンなJSONがログインページを作成するための非常に安全な方法ではないことから、ユーザー情報の格納とアクセスには注意が必要です。 –