javascript - jQuery $.getJSON 不工作

标签 javascript jquery cross-domain

我尝试从一台服务器获取 URL,并使用该 URL 获取另一台服务器的内容。

$.ajax({url : 'http://localhost:8080/geturl.jsp?A=1&B=2,C=3',
    success : function (data)
        {
            alert(data);
            $.getJSON(data, function (mydata)
            {
                alert(mydata);
            });
        },
    error : function (data, status, xhr)
            {
            }
    });

我知道我们无法通过ajax调用进行跨域请求,这就是我使用getJSON的原因,我有以下问题

  1. 当我只是将数据传递到 getJSON 的 url 部分(如代码所示)时,警报框显示正确的 URL,但没有执行任何 get 请求(get 请求是从 FireBug 监控的)。
  2. 当将数据硬编码为“http://www.google.com”时,正在执行 get 请求,但没有响应,尽管有响应 header 且响应代码为 200(但它是在 Firebug 中标记为红色(不知道为什么:( )
  3. 当我尝试获取本地主机域中的网页主机时,尽管响应不是 JSON,但它会正确获取。

我有以下疑问

  1. 如果 getJSON 函数仅接受 JSON 对象作为响应,那么为什么执行上述 3 时没有出现错误。
  2. 执行所需功能的正确代码是什么。
  3. 对每种情况发生的情况提出建议

提前感谢您的回答:)

最佳答案

getJSON 函数只能跨域使用来获取 JSONP .
它不会神奇地规避任何安全限制。

关于javascript - jQuery $.getJSON 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6253859/

相关文章:

javascript - 除非启用 JavaScript,否则不要提交表单

javascript - 格式化使用来自 SharePoint 的 REST ajax 调用获取的日期

javascript - 我如何使此代码每5分钟自动运行一次,以使即使关闭计算机电源,视频标题也与 View 匹配?

javascript - 鼠标移开后 jQuery 工具提示悬停仍在运行

Javascript,将unicode字符串转换为Javascript转义?

javascript - 如何使用 jquery 在数据表中添加数据?

javascript - 如何阻止 jQuery 页面元素重复?

java - SecurityError : CSSStyleSheet. cssRules getter:使用 Selenium Firefox 读取 CSS 样式表时不允许访问跨源样式表错误

.net - 设置 header : P3P: CP ="CAO PSA OUR" 可能带来什么危害

javascript - 跨域访问权限在 iframe 中被拒绝