0

调用 Web 服务时我得到一个 json 文件。

我正在尝试使用 jquery 检索数据并在 html5 页面上显示。当我在浏览器中打开说:SampleURI 时,我确实得到了 json 文件。

    {"employeeList":[{"birthDate":"1948-12-08T00:00:00-07:00","city":"Seattle","firstName":"Nancy","lastName":"Davolio","title":"Accountant"},{"birthDate":"1948-12-08T00:00:00-07:00","city":"Seattle","firstName":"Nancy","lastName":"Davolio","title":"Accountant"}]}

这是我的脚本:

    $(document).ready(
        function() {$("#btnJson").click(function() {
                    var rootURL = "SampleURI";
                        $.ajax({
                                        type: "GET",
                                        url: rootURL,
                                        dataType: "json",
                                        data: "",
                                        success: renderList, // renderlist is function which display table
                            error: function() { alert("Failure");}
                                    });

                                 }//end function
                         );//end click    
        }//end function
);//end document

这给了我失败的消息。

我是 jquery 的新手,所以任何人都可以告诉我哪里出错了。

4

1 回答 1

0

除非服务器实现CORS ,否则JSON不允许跨域。

JSONP允许跨域,但是服务器必须实现JSONP

如果以上都不可能,您唯一的选择是在您的文件本地创建一个服务器端代理,该代理会为您发出请求并返回数据。

要测试 JSONP 支持,请转到

SampleURI.com?jsonpcallback=foo 或者 SampleURI.com?callback=foo 返回的 json 应该被包裹在foo(thejson)

于 2012-05-11T20:19:44.377 回答