推送者的存在无法使用 angularjs 和 golang 获得成员

到目前为止,我正在尝试使用这里的示例,这就是我的设置


// angularjs


    // JS

    var presenceClient = new Pusher('API_KEY', {

        authEndpoint: apiServer + "/presence_auth",

        authTransport: 'jsonp',

        encrypted: true            

    })



    var c = pusher.subscribe("presence-testchan")

    Utils.log(c.members.count) // 0

    Utils.log("000============")    

    c.bind('pusher:subscription_succeeded', function(members) {

        Utils.log("succeeded?")

        Utils.log(members)

    })

// golang 和存在端点


func Presence(w http.ResponseWriter, r *http.Request, next http.HandlerFunc) {

    params, _ := GetBytes(r.URL.String())


    presenceData := pusher.MemberData{

        UserId: database.GenerateStrObjID(),

        UserInfo: map[string]string{

            "twitter": "pusher",

        },

    }

    response, err := PusherClient.AuthenticatePresenceChannel(params, presenceData)


    if err != nil {

        panic(err)

    }


    respondToJSON(w, string(response))

}



func respondToJSON(w http.ResponseWriter, data interface{}) {


    r := render.New()

    r.JSON(w, http.StatusOK, data)

}

我想这是基本形式。但我没有得到任何成员计数?。我可以从 API 得到响应


"{\"auth\":\"7d6e393c49c579c43a0c:6cd45662ef57fbc3ab16d8052c43bf95e7415846f736c2499bac7628ca3b75bc\",\"channel_data\":\"{\\\"user_id\\\":\\\"56f9e5ffcc1cb466a624a3cf\\\",\\\"user_info\\\":{\\\"twitter\\\":\\\"pusher\\\"}}\"}"

但有错误


Uncaught SyntaxError: Unexpected token :

是我遗漏了什么还是我的设置有问题?


拉丁的传说
浏览 121回答 1
1回答

暮色呼如

NVM,解决了这个问题.. Go 示例的文档中缺少jsonp使用回调函数返回它的文档。响应应该是这样的......Pusher.auth_callbacks['1']({auth: "7d6e393c49c579c43a0c:33a442fcc9d3bf67febfeeb59e5a8e4f0364901069534cdef006b0b047df9f75",…});auth:"7d6e393c49c579c43a0c:33a442fcc9d3bf67febfeeb59e5a8e4f0364901069534cdef006b0b047df9f75"channel_data :"{"user_id":"56fa1231cc1cb48a1cdb243c","user_info":{"twitter":"pusher"}}"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go