仅在IE9上通过facebook api发布照片时出错

时间:2014-01-29 13:32:12

标签: ajax facebook internet-explorer facebook-graph-api image-uploading

这是一个javascript函数,通过facebook api上传照片到facebook。 它可以在任何地方使用,除了Internet Explorer 9

var sTagsPostcard =
    '[{tag_uid:' + sIdProfile + ',x:' + aPositonsTags[sIdLayoutPostcard][0] + ',y:' + aPositonsTags[sIdLayoutPostcard][1] + '},' +
    '{tag_uid:' + sIdFriend + ',x:' + aPositonsTags[sIdLayoutPostcard][2] + ',y:' + aPositonsTags[sIdLayoutPostcard][3] + '}]';

var the_url = $('input[name="hdnDomain"]').val() + 'media/postcards/' + sPathPostcard

$.ajax({
    type: "POST",
    url: "https://graph.facebook.com/" + sIdProfile + "/photos",
    data: {
        message: 'MESSAGE',
        url: the_url,
        format: "json",
        access_token: sToken,
        tags: sTagsPostcard
    },
    success: function(data){
        if($('html').hasClass('touch'))
            $('form[name="frmCustomLayout"]').submit();
        else
            window.parent.location.href = 'https://apps.facebook.com/[APPLICATION_NAME]/?st=' + N_STEP_THANKS;
    },
    error:function(a,b,c){
        if($('html').hasClass('touch')){
            $('input[name="st"]').val(N_STEP_RESULT);
            $('form[name="frmCustomLayout"]').submit();
        }
        else
            window.parent.location.href = 'https://apps.facebook.com/[APPLICATION_NAME]/?st=' + N_STEP_RESULT;
    }
});

执行进入错误()而不是 success()函数,这些是参数a,b,c:

  • a:对象错误(或类似的那样)
  • b:错误
  • c:没有运输

IE9的任何想法?提前谢谢

1 个答案:

答案 0 :(得分:0)

调用graph.facebook api的javascript ajax似乎无法在IE9 / IE8等浏览器中运行。

解决它的诀窍是对本地脚本进行ajax调用,然后使用facebook api执行相同的帖子。 通过这种方式,所有浏览器都可以发布,