将 facebook 信息传递到 HTML 隐藏输入字段

发布于 2024-11-16 12:04:30 字数 1206 浏览 5 评论 0原文

我的 .aspx 页面中有以下代码。

<input type="hidden" id="fbinfo" name="fbinfo" value="" runat="server" />
<script src="Scripts/jquery.min.js"></script>

<div id="fb-root"></div>
<script src="Scripts/all.js"></script>   

<script>
FB.init({ 
    appId: 'thisIsMyAppId', 
    status: true, 
    cookie: true, 
    xfbml: true 
});

FB.getLoginStatus(handleSessionResponse); 

function handleSessionResponse(response) {
    if (!response.session) {
        clearDisplay();
        return;
    } 

    FB.api({
        method: 'fql.query',
        query: 'SELECT uid, first_name, last_name, FROM user WHERE uid=' + FB.getSession().uid
        },

        function(response) { 
            var user = response[0]; 
            var userInfo = document.getElementById('fbinfo'); 
            $('#fbinfo').html('user id is:' + user.uid);
        }
    );
}

当我运行它时,VS IDE 返回一条错误消息:

htmlfile:意外调用方法或属性访问。

这突出显示了 jquery.min.js 中的这部分代码。

{if(this.nodeType==1){this.appendChild(E)}

问题是如何将查询的 fql 中的值传递到 HTML 输入隐藏类型控件或 asp:control(如 Label 或隐藏字段) )?

I have the below code in my .aspx page.

<input type="hidden" id="fbinfo" name="fbinfo" value="" runat="server" />
<script src="Scripts/jquery.min.js"></script>

<div id="fb-root"></div>
<script src="Scripts/all.js"></script>   

<script>
FB.init({ 
    appId: 'thisIsMyAppId', 
    status: true, 
    cookie: true, 
    xfbml: true 
});

FB.getLoginStatus(handleSessionResponse); 

function handleSessionResponse(response) {
    if (!response.session) {
        clearDisplay();
        return;
    } 

    FB.api({
        method: 'fql.query',
        query: 'SELECT uid, first_name, last_name, FROM user WHERE uid=' + FB.getSession().uid
        },

        function(response) { 
            var user = response[0]; 
            var userInfo = document.getElementById('fbinfo'); 
            $('#fbinfo').html('user id is:' + user.uid);
        }
    );
}

When I run it, VS IDE throws back an error message saying

htmlfile: Unexpected call to method or property access.

And this highlighted this part of the code inside the jquery.min.js

{if(this.nodeType==1){this.appendChild(E)}

Question is how to pass a value from the fql queried to a HTML input hidden type control or asp:control (like Label or Hidden field) ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

诺曦 2024-11-23 12:04:30

#fbinfo 是一个 input 元素,因此,您不能在其中设置 html() ,而应该使用 val( )

像这样:

$('#fbinfo').val('user id is:' + user.uid);

有关更多信息,请查看 val() 文档

#fbinfo is an input element, as such, you cannot set html() inside it, but should instead, use val().

Like this:

$('#fbinfo').val('user id is:' + user.uid);

For more information, have a look at the val() documentation.

还如梦归 2024-11-23 12:04:30

将 Facebook 命名空间添加到 HTML 标签:

xmlns:fb="http://www.facebook.com/2008/fbml"

Like:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">

Add Facebook namespace to HTML tag:

xmlns:fb="http://www.facebook.com/2008/fbml"

Like:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文