[英]How to get value of json web API using VueJS
我是 Vue.JS 的新手。 實際上我試圖通過輸入路由號碼來獲取銀行名稱。
API: https : //www.routingnumbers.info/api/name.json?rn=011103093
export default {
data: function () {
return {
picker: new Date().toISOString().substr(0, 7),
resultsArray: {
'name' : '',
'message' : '',
'code' : '',
'rn' : ''
},
}
}
}
methods: {
/* searchBasedOnMonthAndType() {
let app = this;
app.modeldailog = false
app.rows = [];
app.renderInvoicesBasedOnMonth(app.picker);
},*/
getBankName() {
let app = this;
app.rows = [];
var rn = '011103093';
$.ajax({
url: 'https://www.routingnumbers.info/api/name.json?rn=' + rn,
success(res) {
if (res.results != null) {
app.resultsArray = res.results;
} else {
// console.log(app.resultsArray);
// console.log("test after");
alert("data not fetched");
}
}
});
},
}
<label>Routing Number</label>
<input type="text" name="routingNo" v-validate="'required|numeric'" v-model="paymentinfo.routing_no" class="form-control input-sm" v-on:keyup="getBankName();">
<label>Bank Name</label>
<input type="text" name="chck_bank_name" v-validate="'required'" class="form-control input-sm" v-bind:value="resultsArray.name">
我收到 Ajax 響應為空。 每次其他部分都在執行。
也許您在$ .ajax方法的選項中打錯了字。 嘗試這個:
getBankName() {
let app = this;
app.rows = [];
var rn = '011103093';
$.ajax({
url: 'https://www.routingnumbers.info/api/name.json?rn=' + rn,
success: (res) => {
if (res != null) {
app.resultsArray = res;
} else {
// console.log(app.resultsArray);
// console.log("test after");
alert("data not fetched");
}
}
});
},
僅供參考:該api調用的結果不是數組。 就像這樣:
{"name": "TD BANK NA", "message": "OK", "code": 200, "rn": "011103093"}
看起來您應該使用類似這樣的東西:
$.ajax(...).done(data => {
console.log(data)
}).fail(() => {
console.log('fail')
})
PS最好使用const vm = this;
而不是let app = this;
。 這是Vue.js中的事實標准
Ajax請求成功,但是if條件失敗,因為res中沒有這樣的關鍵“結果”(由ajax返回的響應)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.