无法保存变量中保存的数据 - 没有方法'设置'

时间:2014-04-19 08:04:32

标签: javascript jquery facebook-graph-api parse-platform

更新。

此代码块将用户与Facebook连接并将其保存到" fbdata"并且在div" friends-list-container"。

这是包含错误的页面。

然后我尝试将数据保存到parse.com,并在下面显示以下错误。

<!doctype html>

     <!-- Runs Parse and FB code that uses Facebook authentication to login 
user to the site and redirects them to the main content area. This page is
fired from the Facebook button being clicked on the site landing page-->


        <html lang="en">
        <head>
            <meta charset="utf-8">
            <meta name="viewport" content="width=device-width, initial-scale=1"> 
            <meta name="description" content="fresh Gray Bootstrap 3.0 Responsive Theme "/>
            <meta name="keywords" content="Template, Theme, web, html5, css3, Bootstrap,Bootstrap 3.0 Responsive Login" />
            <meta name="author" content="Adsays"/>
            <title>Parse JavaScript Todo App</title>
            <script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
            <script src="scripts/underscore-1.1.6.js"></script>
            <script src="http://www.parsecdn.com/js/parse-1.2.13.min.js"></script>



        </head>
        <body>

            <!-- Important, must be on the page -->
            <div id="fb-root"></div>    


            <!-- Initialize the Parse object-->
            <script type="text/javascript">     
            Parse.initialize("79tphN5KrDXdjJnAmehgBHgOjgE2dLGTvEPR9pEJ", "9lblofQNZlypAtveU4i4IzEpaOqtBgMcmuU1AE6Y");

            var user = Parse.User.current();
        //Fb app information//

        window.fbAsyncInit = function() {
            Parse.FacebookUtils.init({
                appId      : '523753101076577',
                channelUrl : 'http://www.kudosoo.com/channel.html',
                status     : true,
                cookie     : true,
                xfbml      : true
            });

        //FB user authentication script, after this completes it fires todos_two.js to redirect user to main content page//


        FB.getLoginStatus(function (response) {
          if (response.status === 'connected') {
            FB.api('/me/friends', function(response){
              if (response && response.data){
                var contact = new Parse.User();
                var fbdata=response.data;
                var divTarget=document.getElementById("friends-list-container");
              for (var friendIndex=0; friendIndex<fbdata.length; friendIndex++)
            {      var divContainer = document.createElement("div");
                   divContainer.innerHTML="<b>" + fbdata[friendIndex].name + "</b>";
                   divTarget.appendChild(divContainer);
            }

        var contact = new Parse.User();
        var contact = new Contact();



            $(document).ready(function () {
                         var username = $("#friends-list-container").val();
                         contact.set("facebookFriends", fbdata.toString());
                        contact.save(null, {
                            success: function (results) {
                                // The object was saved successfully.
                                location.reload();
                            },
                            error: function (contact, error) {
                                // The save failed.
                                // error is a Parse.Error with an error code and description.
                                    alert("Error: " + error.code + " " + error.message);
                            }
                        });
                    });


              } else {
                console.log('Something goes wrong', response);
              }
            });

          }
        });



        };

        (function(d, s, id){
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)) {return;}
            js = d.createElement(s); js.id = id;
            js.src = "//connect.facebook.net/en_US/all.js";
            fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));


        </script>
        <div id="friends-list-container"></div>
        </body>
        </html>

这是错误。 enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

尝试替换此行:

var contact = Parse.Object.extend("_User");

从聊天对话中更新,这就是解决问题的方法:

如果你想将朋友列表存储在当前用户的数组中,那么Parse.User.current()就是你想要的:

var contact = Parse.User.current()