Javascript 在解析中检索用户名而不是ObjectID
使用angular和Parse for JavaScript,当管理员键入用户的objectid时,我有一个搜索字段,在单击submit时,用户的详细信息填充在各自的字段中。我的问题是,我不想使用objectid作为参考点,而是想使用用户名。在这里,他将输入用户名,而不是键入objectid,并填充各自的信息 下面是我如何根据提供的objectid显示用户信息(希望将其更改为用户名)。 剧本Javascript 在解析中检索用户名而不是ObjectID,javascript,jquery,html,angularjs,parse-platform,Javascript,Jquery,Html,Angularjs,Parse Platform,使用angular和Parse for JavaScript,当管理员键入用户的objectid时,我有一个搜索字段,在单击submit时,用户的详细信息填充在各自的字段中。我的问题是,我不想使用objectid作为参考点,而是想使用用户名。在这里,他将输入用户名,而不是键入objectid,并填充各自的信息 下面是我如何根据提供的objectid显示用户信息(希望将其更改为用户名)。 剧本 //搜索和显示用户信息 $scope.userIdChanged=函数(){ $scope.loadin
//搜索和显示用户信息
$scope.userIdChanged=函数(){
$scope.loading=true;
//现在在此处访问$scope.userId
var query=newparse.query(Parse.User);
query.get($scope.userId{
成功:函数(userInfo){
//已成功检索该对象。
var address=userInfo.get(“地址”);
$scope.address=地址;
var email=userInfo.get(“用户名”);
$scope.email=电子邮件;
var fullName=userInfo.get(“fullName”);
$scope.fullName=fullName;
var number=userInfo.get(“phoneNumber”);
$scope.number=number;
var mailingAddress=userInfo.get(“mailingAddress”);
$scope.mailingAddress=mailingAddress;
var plan=userInfo.get(“计划”);
$scope.plan=计划;
var phone=userInfo.get(“电话”);
$scope.phone='phone:'+phone;
var scanURL='';
$scope.scanURL=scanURL;
$scope.loading=false;
},
错误:函数(对象,错误){
//未能成功检索该对象。
//错误是一个解析。错误包含错误代码和消息。
$scope.loading=false;
}
});
html
搜寻
更新:
//To search and display user information
$scope.userIdChanged = function () {
$scope.loading = true;
// now access $scope.userId here
var query = new Parse.Query(Parse.User);
query.equalTo("username", $scope.userId);
query.find({ success: function(userInfo) {
// The object was retrieved successfully.
var address = userInfo.get("address");
$scope.address = address;
var email = userInfo.get("username");
$scope.email = email;
var fullName = userInfo.get("fullName");
$scope.fullName= fullName;
var number = userInfo.get("phoneNumber");
$scope.number= number;
var mailingAddress = userInfo.get("mailingAddress");
$scope.mailingAddress = mailingAddress;
var plan = userInfo.get("plan");
$scope.plan = plan;
var phone = userInfo.get("Phone");
$scope.phone = 'Phone: ' + phone;
var scanURL = '<a href="scan.html">Scan</a>';
$scope.scanURL = scanURL;
$scope.loading = false;
},
error: function(object, error) {
// The object was not retrieved successfully.
// error is a Parse.Error with an error code and message.
$scope.loading = false;
}
});
//搜索和显示用户信息
$scope.userIdChanged=函数(){
$scope.loading=true;
//现在在此处访问$scope.userId
var query=newparse.query(Parse.User);
query.equalTo(“用户名”,$scope.userId);
query.find({success:function(userInfo){
//已成功检索该对象。
var address=userInfo.get(“地址”);
$scope.address=地址;
var email=userInfo.get(“用户名”);
$scope.email=电子邮件;
var fullName=userInfo.get(“fullName”);
$scope.fullName=fullName;
var number=userInfo.get(“phoneNumber”);
$scope.number=number;
var mailingAddress=userInfo.get(“mailingAddress”);
$scope.mailingAddress=mailingAddress;
var plan=userInfo.get(“计划”);
$scope.plan=计划;
var phone=userInfo.get(“电话”);
$scope.phone='phone:'+phone;
var scanURL='';
$scope.scanURL=scanURL;
$scope.loading=false;
},
错误:函数(对象,错误){
//未能成功检索该对象。
//错误是一个解析。错误包含错误代码和消息。
$scope.loading=false;
}
});
查看parse.com文档中的查询。同时,可以使用equalTo
等方法对查询进行约束:
var query = new Parse.Query(Parse.User);
query.equalTo("username", $scope.userId);
// assuming that you're putting the username input text into $scope.userId
query.find({ success: function(array) {
// this means the query was a success, but we're not yet certain that we found anything
// the param to find's success is an array of PFObjects, possibly empty
if (array.length > 0) {
var userInfo = array[0];
var address = userInfo.get("address");
$scope.address = address;
var email = userInfo.get("username");
$scope.email = email;
// you original code here ...
} else {
// the query is a success with no results,
// which means that no records match the criteria you gave
alert("nothing found");
}
},
error: function(object, error) {
// The object was not retrieved successfully.
// error is a Parse.Error with an error code and message.
$scope.loading = false;
}
});
非常感谢您的建议。我将深入分析解析文档。我已经应用了您的建议,由于某些原因,它似乎不再响应,在我键入objectid之前,其各自的字段将被填充,但现在当我键入用户名时,什么都没有发生。我已经在我的init的更新部分中包含了ial post修订版(当用户键入用户名时,它会提取有关该用户的相应数据)Find返回一个数组,因此您的代码应该检查长度是否大于0,然后选择要在UI中显示的一个或所有对象。
//To search and display user information
$scope.userIdChanged = function () {
$scope.loading = true;
// now access $scope.userId here
var query = new Parse.Query(Parse.User);
query.equalTo("username", $scope.userId);
query.find({ success: function(userInfo) {
// The object was retrieved successfully.
var address = userInfo.get("address");
$scope.address = address;
var email = userInfo.get("username");
$scope.email = email;
var fullName = userInfo.get("fullName");
$scope.fullName= fullName;
var number = userInfo.get("phoneNumber");
$scope.number= number;
var mailingAddress = userInfo.get("mailingAddress");
$scope.mailingAddress = mailingAddress;
var plan = userInfo.get("plan");
$scope.plan = plan;
var phone = userInfo.get("Phone");
$scope.phone = 'Phone: ' + phone;
var scanURL = '<a href="scan.html">Scan</a>';
$scope.scanURL = scanURL;
$scope.loading = false;
},
error: function(object, error) {
// The object was not retrieved successfully.
// error is a Parse.Error with an error code and message.
$scope.loading = false;
}
});
var query = new Parse.Query(Parse.User);
query.equalTo("username", $scope.userId);
// assuming that you're putting the username input text into $scope.userId
query.find({ success: function(array) {
// this means the query was a success, but we're not yet certain that we found anything
// the param to find's success is an array of PFObjects, possibly empty
if (array.length > 0) {
var userInfo = array[0];
var address = userInfo.get("address");
$scope.address = address;
var email = userInfo.get("username");
$scope.email = email;
// you original code here ...
} else {
// the query is a success with no results,
// which means that no records match the criteria you gave
alert("nothing found");
}
},
error: function(object, error) {
// The object was not retrieved successfully.
// error is a Parse.Error with an error code and message.
$scope.loading = false;
}
});