即使字段不为空,Parse.Object.get()也会返回Undefined

时间:2016-01-09 09:33:44

标签: javascript parse-platform

我有一个从_User表到名为StoreData的表的指针。 注册一个_User后,“StoreData”被填充,然后创建一个从_UserStoreData的指针并存储在_User中。

现在,当用户登录时,变量会存储名为StoreData的{​​{1}}对象。

当用户第一次登录时,storeData会返回“NewDelhi”。但之后,用户已注销然后再次登录,它始终返回undefined,尽管数据库中没有任何更改。

这是我的代码:

注册用户:

storeData.get("city")

用户已成功注册,这可以从用户登录时以下代码正常工作中看出:

var StoreData = Parse.Object.extend("StoreData");
var storeData = new StoreData();
storeData.set("storeName",storeName);
storeData.set("phoneNumber1",phoneNumber1);
storeData.set("addressLine1",addressLine1);
storeData.set("addressLine2",addressLine2);
storeData.set("city",city);
storeData.set("state",state);
storeData.set("pinCode",pinCode);
storeData.set("location",location);
if(hasAuth>0){
   storeData.set("hasAuth",true);
}
else{
   storeData.set("hasAuth",false);   
}
if(phoneNumber2.length>0){
   storeData.set("phoneNumber2",phoneNumber2);
}
if(phoneNumber3.length>0){
   storeData.set("phoneNumber3",phoneNumber3);
}
if(email2.length>0){
   storeData.set("email2",email2);
}
if(landMark.length>0){
   storeData.set("landMark",landMark);
}
storeData.save(null,{
   success: function(storeData){
    var user = new Parse.User();
    user.set("username",email);
    user.set("password",password);
    user.set("store",storeData);
    user.signUp(null, {
    success: function(user){
      alert("Successfull");
      window.open("adminPage.html","_self");
    },
    error: function(error){
      alert("here");
      alert(error.message);
    }
 });
},
error: function(storeData,error){
   alert(error.message);
}
);

第一次,警报给出了城市名称,但是第二次登录后它返回undefined。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

在后一次运行中,用户已填充其指针数据,但指向的对象未被填充。

有两种方法可以填充它们:

  1. 使用指针键
  2. 对fetch进行fetch
  3. 明确<ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:id="@+id/intro_Linear_Layout" android:gravity="center_horizontal"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/image_view_Logo" android:background="@drawable/goose_logo" android:layout_marginTop="90dp" android:layout_gravity="center"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txtview_Welcome" android:text="@string/txt_welcome" android:textSize="20dp" android:textColor="#04C244" android:layout_marginTop="15dp" android:gravity="center"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btn_SignIn" android:text="@string/btn_sign_in" android:textSize="20dp" android:textColor="#FFFFFF" android:paddingTop="15dp" android:paddingBottom="15dp" android:background="@drawable/btn_drawable" android:layout_marginRight="125dp" android:layout_marginLeft="125dp" android:layout_marginTop="400dp"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btn_signUp" android:textSize="20dp" android:text="@string/btn_sign_up" android:textColor="#FFFFFF" android:paddingTop="15dp" android:paddingBottom="15dp" android:background="@drawable/btn_drawable_2" android:layout_marginTop="20dp" android:layout_marginLeft="125dp" android:layout_marginRight="125dp"/> </LinearLayout> </ScrollView> 指向对象
  4. 对于您的用户,您实际上并没有自己进行抓取,因此您应该在尝试使用之前获取指向的对象。