我正在寻找这个问题的几个小时,在论坛和SO上阅读了很多,但无法弄清楚我做错了什么。
我的返回对象数据已正确注销,但是一旦我尝试访问属性,它总是未定义的????怎么样?
我尝试在某些SO帖子中将data = JSON.parse(JSON.stringify(data))
作为建议的答案,但我的问题仍然存在。
欢迎所有帮助!
BTW:
<script>
$(document).ready(function(){
$("#btw").on('focusout',function () {
console.log("BTW validation check. (REST CALL)");
var btw = $(this).val();
var country_code = btw.substring(0,2);
var vat_number = btw.substring(2);
console.log("country_code: " + country_code);
console.log("vat_number: " + vat_number);
$.getJSON('http://vatid.eu/check/'+ country_code +'/'+vat_number, function(data) {
console.log(data); // good object with valid set
console.log(data["valid"]); //undefined!
console.log(data.valid); //undefined!
/*
if(data.valid) {
$("#order_custom_10").value = true
}
else {
$("#order_custom_10").value = false
}
*/
});
});
});
</script>
</body>
答案 0 :(得分:3)
请求返回的data
对象包含一个response
对象,其中包含您想要的数据。因此,请使用data.response.valid
来获得您想要的内容。
这是来自vatid.eu的JSON对象结构:
{
"response": {
"country_code": "DK",
"vat_number": "30505166",
"valid": "true",
"name": "JUSTABOUTIT ApS",
"address": "Gammeltorv 8 2\n1457 København K\n"
}
}