我正在尝试使用Javascript发布到Facebook API。当内容在Javascript中进行硬编码时,它可以正常工作,但是当我从用户输入的文本框中收集内容时。它抛出了同源策略错误:
这是我发布的地方。
FB.api('/1494363804210145/feed', 'post', postData,
function(response) {
console.log(JSON.stringify(response));
$("#status").val("Your Message as been posted!");
});
如果postData是硬盘,它可以工作:
var postData = {
message : "TEST",
name : "TEST",
from : 'pageid',
access_token : pageAccessToken,
description : "TEST"
};
如果postData是动态的,它不起作用:
var postData = {
message : $("#postMessage"),
link : $("#postLink"),
picture : $("#postImage"),
name : $("#postTitle"),
from : 'pageid',
access_token : pageAccessToken,
description : $("#postDesc")
};
我没有使用任何类型的IFrame。我该如何解决这个问题?
答案 0 :(得分:2)
您需要附加.val()
。现在您正试图发布jQuery object
。
var postData = {
message : $("#postMessage").val(),
link : $("#postLink").val(),
picture : $("#postImage").val(),
name : $("#postTitle").val(),
from : 'pageid',
access_token : pageAccessToken,
description : $("#postDesc").val()
};