gpt4 book ai didi

javascript - HTML,Javascript : difference between an ajax call and changing the source of an iframe

转载 作者:行者123 更新时间:2023-11-30 18:15:59 25 4
gpt4 key购买 nike

上下文:我正在尝试编写一个 javascript 函数来喜欢 tumblr 上的某个帖子,基于此 link .我尝试使用 ajax 调用而不是更改 iframe 的源,但它不起作用。当然,更改 iframe 的来源是可行的。

那么,是什么原因导致它不起作用?

$baseUrl = 'http://tumblr.com/like/';

function LikePost( $postID, $reblogUrl )
{
/*
http://www.tumblr.com/<command>/<oauthId>?id=<postId>
<command>: like or unlike
<oauthId>: last eight characters of {ReblogURL}
<postId>: {PostID}

Exemple of Url
http://www.tumblr.com/like/fGKvAJgQ?id=16664837215

*/
$oauthId = $reblogUrl.substring( $reblogUrl.length - 8, $reblogUrl.length);
$likeUrl = $baseUrl + $oauthId + '?id=' + $postID;

$.ajax({
url: $likeUrl,
type:'POST'
});

}

最佳答案

AJAX 请求受同一域策略的约束,除了一些不值得列出的异常(exception)情况,因为除非您控制两个域,否则它们不起作用。

在这种情况下,您是从您的网站调用一个 tumblr 域,这是您无法通过 AJAX 完成的。但是,iframe、script 元素和 img 元素可以指向任何域,因此如果 like url 没有返回任何内容给您,您可以使用这些方法中的任何一种来记录 like。

如果您不想使用 iframe,您可以使用的另一种方法是通过 AJAX 向您的服务器发出请求,然后将该请求代理到 tumblr。您的服务器可以转到它想要的任何 url。

但是,iframe 方法是最简单的。我建议走那条路,因为你已经开始工作了。 ;)

关于javascript - HTML,Javascript : difference between an ajax call and changing the source of an iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13244347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com