【问题标题】:Javascript .load() function is not executingJavascript .load() 函数未执行
【发布时间】:2014-02-15 19:22:20
【问题描述】:

我正在尝试根据用户的兴趣创建一个简单的 Newsfeed 页面。 下面我提供了相同的代码..我只是不明白这里的问题..问题是相同的代码在我的本地主机上运行良好,但在在线服务器上却不一样。但是 $(window) .scroll(function() 工作正常,数据正在正确获取,但 .load() 函数无法获取数据。

我在 javascript Consol.log 中遇到错误

XMLHttpRequest 无法加载 http://redirect.main-hosting.com/error404.php/26?domain=www.nizilla.tk。 请求中不存在“Access-Control-Allow-Origin”标头 资源。因此不允许使用原点“http://www.nizilla.tk” 访问。

我也尝试将 src 路径更改为 src="./profile-newsfeed/jquery-1.9.1.min.js" 但我仍然面临同样的错误。

/*--------------------------------  */

  <script src="http://www.nizilla.tk/profile-newsfeed/jquery-1.9.1.min.js">   </script>

 <script type="text/javascript">

 $(document).ready(function() {
    var track_load = 0; //total loaded record group(s)
var loading  = false; //to prevents multipal ajax loads
var total_groups = <?php echo $totalpage; ?>; //total record group(s)
//alert(total_groups);
if(total_groups<=0)
  {
window.location='http://www.nizilla.tk/profile php/profilefollow.php';//
}
else
{
$('#container').load('http://www.nizilla.tk/profile php/userinterest.php', {'group_no':track_load}, function() {track_load++;}); //load first group

$(window).scroll(function() { //detect page scroll

    if($(window).scrollTop() + $(window).height() == $(document).height())         //user scrolled to bottom of the page?
    {

        if(track_load <= total_groups && loading==false) //there's more data to load
        {
            loading = true; //prevent further ajax loading
            $('.animation_image').show(); //show loading image

            //load data from the server using a HTTP POST request

            //http://www.nizilla.tk/profile php/userinterest.php
            $.post('http://www.nizilla.tk/profile php/userinterest.php',{'group_no': track_load}, function(data){

                $("#container").append(data); //append received data into the element

                //hide loading image
                $('.animation_image').hide(); //hide loading image once data is received

                track_load++; //loaded group increment
                loading = false; 

            }).fail(function(xhr, ajaxOptions, thrownError) { //any errors?

                alert(thrownError); //alert with HTTP error
                $('.animation_image').hide(); //hide loading image
                loading = false;

            });

        }
    }
});

}
 });

如果您能在这里指出我的错误,那将非常有帮助..非常感谢您的帮助

【问题讨论】:

标签: javascript php jquery ajax


【解决方案1】:

如果我理解正确,您正在对与您的页面所在的域不同的域执行XMLHttpRequest。因此浏览器会阻止它,因为出于安全原因,它通常允许同一来源的请求。当您想要进行跨域请求时,您需要做一些不同的事情。 Using CORS 是一个关于如何实现的教程。

当您使用邮递员时,他们不受此政策的限制。引用自Cross-Origin XMLHttpRequest

常规网页可以使用 XMLHttpRequest 对象从远程服务器发送和接收数据,但它们受到同源策略的限制。扩展并没有那么有限。只要首先请求跨域权限,扩展程序就可以与其源之外的远程服务器通信。

【讨论】:

  • 谢谢 Lukas ...谢谢已经看过了..我仍然无法得到它..我的意思是 croww_policy_origin 问题是怎么回事。我所有的引用都指向同一个域而不是我的链接指向任何跨站点。如果这确实是问题,那么它如何为 post() 函数工作。感谢您的回复。
【解决方案2】:

可能的灵魂是CORS ...浏览器不允许从不同的域获取数据,它的浏览器安全策略。浏览器实现同源策略。

您要么将这两个应用程序托管在同一域中,要么将CORS 实现到请求服务器应用程序。

编辑:

www.abc.com != abc.com != http://www.abc.com != https://abc.com != https://www.abc.com

浏览器感觉不同。它们在技术上是不同的。

"http://www.nizilla.tk/profile php/userinterest.php" 你所指的网址也无效,里面有空格。

【讨论】:

  • HI..Aaron 感谢您的宝贵意见..但我在这里引用相同的域名..我在这里没有使用任何跨域..
  • 而且我的两个文件都托管在同一个服务器和同一个域名上。
  • 您使用的是哪个浏览器,查看基本网址
  • 我正在使用 chrome.. 但我也检查了其他浏览器。我也得到了错误。那里的基本网址是一样的。
  • 你试过这个 url nizilla.tk/profilephp/userinterest.php 配置文件和 php 中有空间,它是无效的 url
【解决方案3】:

由于“同源策略”,加载函数没有被执行。请求的资源必须位于同一服务器中。

【讨论】:

  • 感谢 Augusto 我非常感谢您的帮助!那我在这里做错了什么?..因为我在这里没有使用任何跨域,而且我所有的链接都指向同一个域名。所以我认为你不可能有相同的_origin_policy。
  • 嗨 Augusto.. 我浏览了你的博客,它写得非常好.. 但是它说“要记住的一件事是,查询将只允许您从您的站点加载资源。也就是说,你不能告诉 jQuery 告诉另一个站点的页面/片段。”但这正是我的疑问,因为我所有的 jquery 链接和其他链接都指向同一个域名和服务器。那么这是一个问题。
  • 很高兴你喜欢它。然后,如果您确定所有请求都指向同一个站点,请使用相对路径,例如 profile php/userinterest.php
  • 感谢您的回复..我也试过了,但仍然弹出相同的错误....只有当我删除“
  • 只是为了向您的问题添加更多信息,我搜索了您的问题并返回了一些结果。我阅读了前三四个,它们是与托管服务有关的问题。这是我用谷歌搜索的-> redirect.main-hosting.com/error404.php 也许这完全不相关。从你说的我可以看出问题不是加载函数,而是jquery库,浏览器无法下载。
猜你喜欢
  • 1970-01-01
  • 2016-09-30
  • 1970-01-01
  • 2021-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多