我正在尝试从本地桌面应用程序发布一条墙消息(我不能使用FB JS SDK)。
以下是我的代码片段
var url = "https://graph.facebook.com/me/feed";
var params = "access_token=" + token + "&message=" + encodeURI(text);
$.ajax({
crossDomain: true,
data: params,
dataType: "jsonp",
url: url,
type: 'POST',
success: function (data) {
if (callback) {
var isOK = (data && data.id && !data.error);
callback(isOK, data);
}
},
error: function (data, e1, e2) {
}
});
请求会忽略消息参数 我收到一份Feed列表,因为它是GET请求。
我尝试将参数设置为地图,但没有帮助。 顺便说一句 - 当使用CURL(在C ++中)时,我设法正确地发布数据。
为什么它会忽略这些参数?
答案 0 :(得分:0)
我会把" params"进入数据元素如下:
var url = "https://graph.facebook.com/me/feed";
$.ajax({
crossDomain: true,
data: { access_token: token, message: text },
dataType: "jsonp",
url: url,
type: 'POST',
success: function (data) {
if (callback) {
var isOK = (data && data.id && !data.error);
callback(isOK, data);
}
},
error: function (data, e1, e2) {
}
});
让jQuery从那里编码参数。
答案 1 :(得分:0)
通过设置$ .mobile.allowCrossDomainPages = true,以下在Jquery 1.6.4 + jquery.mobile-1.0rc2中正常工作;在mobileinit bind
$.ajax( {
url : "https://graph.facebook.com/me/feed",
type : "POST",
data : "access_token=" + your_access_token + "&message=my first wall post",
cache : false,
success : function(res) {
if (!response || response.error) {
alert("Couldn't Publish Data");
} else {
alert("Message successfully posted to your wall");
}
},
error : function(xhr, textStatus, errorThrown) {
alert(xhr.responseText);
}
});