【发布时间】:2012-04-06 18:12:44
【问题描述】:
这段最近运行良好的代码在与 FB JS API 一起使用时不再正常工作:
placeOrder : function(order_info) {
var onOrderPlaced = function(data) {
if (data['order_id'] && data['status'] == 'settled') {
window.FLASH.flashObject.artifactAdded(order_info);
return true;
} else {
// handle errors here
return false;
}
};
window.fbAsyncInit();
// calling the payment dialog
try {
FB.ui({
method : 'pay',
order_info : order_info,
purchase_type : 'item',
dev_purchase_params : {
'oscif' : false
}
}, onOrderPlaced);
} catch (err) {
// TODO handle payment error
}
}
订单发生并完美处理,但之后没有发生什么,像几天一样,回调函数 onOrderPlaced 在付款完成时从未被调用。正如我所说,几天前这个功能运行良好。
我遇到的另一个问题是使用 stream.publish 方法提示 FB.ui。我所看到的只是 iframe 和其中的加载动画,它需要很长时间。几天前完美运行的另一个功能。现在它不工作了。有人遇到同样的问题吗?
【问题讨论】:
-
请指向完整的代码示例,或指向可以看到此内容的 url。
-
@SeanKinsey 上面的那段代码是未调用回调问题的完整示例。正在调用、处理带有“pay”方法的 FB.ui 调用,完成后,onPlaceOrder 不会被调用(几天前有效)
-
不,没有提到 FB.init,它没有关于 url、init 数据等的信息。
标签: javascript facebook facebook-javascript-sdk