Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery:i';我无法获取$.get或$(';#idOfElement';)。即使是在最简单的示例中也可以加载。_Jquery_Ajax - Fatal编程技术网

jquery:i';我无法获取$.get或$(';#idOfElement';)。即使是在最简单的示例中也可以加载。

jquery:i';我无法获取$.get或$(';#idOfElement';)。即使是在最简单的示例中也可以加载。,jquery,ajax,Jquery,Ajax,真尴尬。我在以前的项目中做过这个,但是现在我无法得到最简单的例子 装载量和美元。立即开始工作 我的简单小网页如下所示。当我使用firebug时,我可以看到正在发出http请求 (在下面的cnn.com案例中,我也尝试了谷歌。)但firebug出于某种原因以红色显示了这些请求 id为“container”的div未更新。而且我从来没有看到回调指示“这是数据” 一定是些很简单又愚蠢的东西……但经过一个小时的修补,我准备哭着求救了 非常感谢您的建议。谢谢 <!DOCTYPE ht

真尴尬。我在以前的项目中做过这个,但是现在我无法得到最简单的例子 装载量和美元。立即开始工作

我的简单小网页如下所示。当我使用firebug时,我可以看到正在发出http请求 (在下面的cnn.com案例中,我也尝试了谷歌。)但firebug出于某种原因以红色显示了这些请求

id为“container”的div未更新。而且我从来没有看到回调指示“这是数据”

一定是些很简单又愚蠢的东西……但经过一个小时的修补,我准备哭着求救了

非常感谢您的建议。谢谢

        <!DOCTYPE html>
        <html lang="en">
        <head>

         <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

          <script type="text/javascript">
            $(document).ready(function () {

              alert('in ready handler');
              $('#container').load('http://www.cnn.com/');
              alert('after container load');
              $.get(
                    'http://www.cnn.com/', 
                    function(data) {  
                        alert('here is the data' + data); 
                    } 
              );
              alert('after get was called');
            });

          </script>
        </head>

        <body>
        the container:
          <div id="container"></div>
        </body>
        </html>

$(文档).ready(函数(){
警报(“在就绪处理程序中”);
$('#容器')。加载('http://www.cnn.com/');
警报(“集装箱装载后”);
美元(
'http://www.cnn.com/', 
函数(数据){
警报(“这是数据”+数据);
} 
);
警报(“调用get之后”);
});
容器:

除非您将代码托管在cnn.com上,否则无法使用AJAX从其他域加载资源。

这是一种跨域保护机制

最好的选择是在您的服务器上有一个简单的php文件,它从远程站点请求内容并将其发回,例如

AJAX.php

$ echo file_get_contents('http://www.cnn.com/');
游JS

$ ('#container').load('ajax.php');

在Dales的评论中添加:

有时不允许从远程服务器获取文件内容(在服务器上可能是allow\u url\u fopen false)。所以你可以用curl来代替

你的JS文件

 $ ('#container').load('curlRequest.php');
您的curlRequest.php文件

    $ch = curl_init("http://www.cnn.com/");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_POST, 1); //you can use get method also here
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);      
    curl_close($ch);
    echo $output;

答案基本上由伊利亚和戴尔提供(谢谢,先生们)

我将在他们的回答中添加以下内容,这是我的朋友埃里克建议的

他基本上建议我检查控制台!我本来应该这么做的。当我在Chrome中启用控制台时,当我点击我的页面时,我看到以下错误:

 2XMLHttpRequest cannot load http://www.cnn.com/. Origin null is not allowed by Access-Control-Allow-Origin.
如果我第一次处理这个问题的时候看到了这一点,我就会知道了


唯一的问题是,我在Chrome中启用控制台时看到了这个错误,但在Firefox中使用Firebug时却没有看到。所以,我想这个故事的寓意是,如果Firebug没有给我足够的信息,我可以用Chrome试试我的请求。[直到我弄清楚如何从Firebug那里获得这些信息,我会在发布时发布。]

如果你真的需要,有一些技巧-谢谢,伊利亚-我会打电话给特德·特纳,问他的技术人员是否可以让我在那里上传我的垃圾;^)或者我会遵循这里提供的其他好建议,创建一个简单的小web应用程序来测试它,而不是一个静态HTML文件。说真的。。。非常感谢你们的帮助(所有回应的人)