jQuery $ .getJSON无效

chi*_*lia 0 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)
            {
            }
    });
Run Code Online (Sandbox Code Playgroud)

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

  1. 当我只是将数据传递给getJSON的url部分时(如代码所示),alert-box显示正确的URL但没有执行get请求(从FireBug监视获取请求).
  2. 当硬编码数据为"http://www.google.com"时,正在执行获取请求但没有响应,尽管响应标头出现且响应代码为200(但它被标记为RED在萤火虫(不知道为什么:()
  3. 当我尝试在localhost域中获取网页主机时,虽然响应不是JSON,但它被正确获取.

我有以下疑惑

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

在此先感谢您的答案:)

SLa*_*aks 5

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