好的,我正在使用 PHP 和 Facebook JS API 使用 jQuery 的 $.ajax() 函数在用户页面上发布故事,除了 Chrome 之外,它在任何地方都可以正常工作。
Chrome 返回错误“SyntaxError: Unexpected Token:”。
我让它在错误时提醒 XHR 响应,如下所示:
{
"id" : "30800681_37922830145443"
}
这是有效的 JSON。这不可能是我对 JSON 结果做错的任何事情,因为它会在任何解析完成之前抛出错误(即,它没有进入“成功”函数)。
这背后的代码如下:
if ($('#post-facebook').is(":checked")) {
// Do the FB post
$.ajax({
type: "POST",
url: "https://graph.facebook.com/<?= $this->session->userdata('fb_id') ?>/feed",
data: "message=" + $("#upload-caption").val() + "&access_token=<?= $this->session->userdata('fbtoken'); ?>&app_id=<?= $this->config->item('appId') ?>&link=" + post_url,
success: function(msg) {
// Save the FB post ID to the DB
var result = $.parseJSON(msg);
var result_array = result.id.split("_");
// Do more stuff here, but it's not even getting into this success function
},
error: function(xhr,ajaxOptions,thrownError) {
// This is what's executing because the thrown error is getting alerted
alert(thrownError);
}
});
}
当我添加dataType: "json"
Ajax 参数时,它仍然通过 Error 函数,但thrownError
参数为空。
我正在拔头发……有什么建议吗?提前致谢,