我正在尝试使用以下代码 (login.js) 从数据库中获取值
$.post("http://awebsite.com/app/login.php",{ rep1: rep, password1:password},
function(data) {
if(data=='Invalid rep.......') {
$('input[type="text"]').css({"border":"2px solid red","box-shadow":"0 0 3px red"});
$('input[type="password"]').css({"border":"2px solid #00F5FF","box-shadow":"0 0 5px #00F5FF"});
alert(data);
}else if(data=='Repname or Password is wrong...!!!!'){
$('input[type="text"],input[type="password"]').css({"border":"2px solid red","box-shadow":"0 0 3px red"});
alert(data);
} else if(data !==''){
//$("form")[0].reset();
//$('input[type="text"],input[type="password"]').css({"border":"2px solid #00F5FF","box-shadow":"0 0 5px #00F5FF"});
//alert(data);
alert("Welcome " + rep + " !!");
var obj = JSON.parse(data);
//[{"wid":"2","repid":"1"}]
//objwid = obj[0]["wid"];
//objrepid = obj[0]["repid"];
objwsname= obj[0]["wsname"];
但我在 objwsname= obj[0]["wsname"];
中收到 Uncaught TypeError: Cannot read property 'wsname' of undefined
错误/p>
我在 html 中使用以下脚本
<script src="js/jquery.js"></script>
<script src="js/jquery.mobile-1.0rc1.min.js"></script>
<script src="jqm.autoComplete-1.5.2-min.js"></script>
<script src="src\jquery.tabletojson.js"></script>
<script type="text/javascript" src="js/login.js"></script>
最佳答案
因为这只是一个对象而不是包含一个或多个对象的数组,所以您不需要提供索引 [0]
:
objwsname = obj["wsname"];
或:
objwsname = obj.wsname;
可以获得wsname
。
看看你是否有一个包含对象的数组,然后你必须用它的索引来获取它,比如:
// suppose this is the data
data = [{"foo":"bar"}, {"foo":"baz"}];
// ^----0------^ ^-----1-----^ // indexes of the objects inside data array.
所以这两个:
alert(data[0].foo); // alerts bar
alert(data[0]['foo']); // alerts bar
这里需要有索引
关于javascript - 未捕获的类型错误 : Cannot read property 'wsname' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32049007/