【问题标题】:How I can connect by ajax json tomcat from localhost to another server我如何通过ajax json tomcat从本地主机连接到另一台服务器
【发布时间】:2013-07-29 16:00:02
【问题描述】:

如何通过 ajax json tomcat 从 localhost 连接到另一台服务器以获取 json。 如果我通过在浏览器中输入 url 来执行查询位置,则会返回正确的 json,但如果我使用 jquery ajax 执行此操作,我会失败。我已经尝试过使用 jsonp 并且无法正常工作。 我在另一个上更改了ajax的url,它可以工作。

             $.ajax({    
                url : myUrl,
                type: 'GET',
                dataType: 'json',
                jsonp : 'json.wrf',
                jsonpCallback: 'loadData',
                dataFilter: function(data) {
                    alert('filter');
                },
                success: function(data) {
                    alert('success');
                },
                error: function(d,msg) {
                    alert('Error');
                }
            });

【问题讨论】:

    标签: jquery ajax json tomcat jsonp


    【解决方案1】:

    您偶然发现了浏览器的同源策略。如果您对服务器具有管理访问权限,则应实现 JSONP 或将响应标头设置为允许外部来源

    Access-Control-Allow-Origin: *
    

    【讨论】:

    • 我无权访问服务器。
    • 在这种情况下,恐怕您的选择是有限的。您可以在本地主机上使用服务器端代理来“中继”请求。对于您的脚本,请求将仅转到本地主机(允许),服务器脚本将从外部服务器请求 JSON(也允许)并将其转发到您的本地 javascript
    • 它返回:XML 解析错误:找不到元素位置:moz-nullprincipal:{8a2c3f7c-b688-4f2d-8a4b-6854e0c4b834} 第 1 行第 1 列:
    • 您是否为 ajax 请求设置了正确的数据类型?似乎 jQuery 将数据类型猜测为 XML,这显然是错误的。尝试分别设置为dataType: "json""jsonp"
    猜你喜欢
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 1970-01-01
    相关资源
    最近更新 更多