我为朋友创建了一个插件,它在我的网站上完美运行。但是,每当我将它发布在另一台服务器上时,它都无法正常工作。加载页面时,它会遍历函数loadBox()
的所有步骤,但无法在<div>
内加载PHP页面。它只是保持.gif运行。请帮忙。这真的很烦人。以下是我们发布的插件以获取插件:
<div id="ferridev_twitter_box" load_type="personal" twitter_name="jpferrierjr" tweet_number="15" tone="dark"></div>
<script type="text/javascript" src="http://www.johnferrier.com/js/jquery.js"></script>
<script type="text/javascript" src="http://www.johnferrier.com/plugins/twitter/js/ferridev_twitter_plug-in.js"></script>
jquery.js
文件只是一个标准的jQuery文件。但是,ferridev_twitter_plug-in.js
是我做的那个。它的内容如下:
$(document).ready(function()
{
function loadBox()
{
$('#ferridev_twitter_box').html("<div style='height:400px; width:300px; padding-top:167px; text-align:center;'><center><span style='position:relative;'><img src='http://www.johnferrier.com/images/loading/loading17.gif' /></span></center></div>");
var a = $('#ferridev_twitter_box').attr("twitter_name");
var b = $('#ferridev_twitter_box').attr("tweet_number");
var c = $('#ferridev_twitter_box').attr("tone");
var d = window.location;
var e = $('#ferridev_twitter_box').attr("load_type");
$('#ferridev_twitter_box').load("http://www.johnferrier.com/plugins/twitter/php/ferridev_twitter_plug-in_parser.php?name="+a+"&limit="+b+"&tone="+c+"&type="+e);
}
loadBox();
});
你们有什么不对吗?谢谢!
答案 0 :(得分:1)
跨域政策限制。您正在尝试向其他服务器执行ajax请求。
$('#ferridev_twitter_box').load("http://www.johnferrier.com/plugins/twitter/php/ferridev_twitter_plug-in_parser.php?name="+a+"&limit="+b+"&tone="+c+"&type="+e);
查看这些跨域ajax示例:http://usejquery.com/posts/the-jquery-cross-domain-ajax-guide
答案 1 :(得分:1)
这不是不可能的,您可以使用jsonp来设置这样的通用Web服务,但是由于浏览器的安全性,跨域JavaScript很难。
http://forum.jquery.com/topic/cross-domain-load
JQuery Cross-Domain .load() (self-constructing widget)
这可能对您有用:
http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/