javascript - jQuery:无法在 Chrome 上运行 $.get (http get)

标签 javascript jquery html

我想用JavaScript做一个简单的http get。 我使用 jQuery 来执行我的请求。我的代码在 IE8.0 上运行,但不能在 Chrome(6.0 版)上运行。 我的页面有以下代码:(为了简化,我向 html 页面发出了一个简单的请求,但我的需求是其他的)

 <!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
   <html> 
       <script type"text/javascript"    src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
    <SCRIPT TYPE="text/javascript"  >

    function sendGet(){
        $.get(
            "http://www.google.pt",
            function(data) {
               alert('page content: ' + data);
        });
    }
    </SCRIPT>
    <head> 
        <title> Http Get Demonstration </title> 
    </head> 
    <body> 
        <p/>
        <input type="button" value="Http Get" onclick="sendGet();" />   
    </body> 
   </html> 

正如我所说,当我在 IE 上加载此页面并按下按钮时,我会收到带有 html 代码的警报。但在 Chrome 中,警报显示为空文本(null?)。在“开发人员工具”的 Chrome 控制台中,我收到消息:“XMLHttpRequest 无法加载 http://www.google.pt/。Access-Control-Allow-Origin 不允许 Origin null。”

任何人都可以向我解释这条消息的含义是什么?我应该对在 Chrome 中运行的页面进行哪些更改?

谢谢

最佳答案

由于same origin policy您不能将 AJAX 请求发送到与托管您的页面的域不同的域。因此,除非您的网页托管在 http://google.pt 上,否则您无法向该域发送 AJAX 请求。一种可能的解决方法是在您的域上设置一个服务器端脚本,它将充当 google.pt 和客户端之间的桥梁或使用 JSONP如果远程域支持它。

关于javascript - jQuery:无法在 Chrome 上运行 $.get (http get),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3924308/

相关文章:

Html5应用缓存

javascript - 在函数之前定义函数属性

javascript - 如何根据另一个下拉选项更改下拉选项?从数据库检索的值

javascript - Cookie 功能在除 Chrome 之外的所有主要浏览器中都能正常工作

javascript - 如何在循环中的 Coffeescript 中使用 setTimeout

jquery - 窗口滚动时执行多项功能

html - 一个元素上的 CSS 两个过渡 ( :hover and :hover:after) not working

javascript - 我的 WordPress 网站上的 jQuery 脚本均无法正常工作

javascript - 避免在 React 中由对象文字 : how to do with variables in the object? 引起的重新渲染

javascript - 获取 ajax post 请求的用户输入?