繁体   English   中英

jQuery $.getJSON 不工作

[英]jQuery $.getJSON not working

我尝试从一台服务器获取 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 但没有执行获取请求(获取请求是从 FireBug 监控的)。
  2. 当将数据硬编码为“http://www.google.com”时,正在执行获取请求但没有响应,尽管响应标头出现并且响应代码为 200(但它被标记为 RED在萤火虫中(不知道为什么:()
  3. 当我尝试在 localhost 域中获取网页主机时,尽管响应不是 JSON,但它被正确获取。

我有以下疑惑

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

提前感谢您的答案:)

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

http://api.jquery.com/jQuery.ajax/

这应该是 jsonp 的一个工作示例:

    var request = jQuery.ajax(
    {
        url: "http://Your url",
        success: function (data) { console.log('success!'); console.log(data); },
        error: function (data) { console.log('error!'); console.log(data); },
        dataType: "jsonp",
        type: "GET",
        data: { key: 'value' }
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM