【问题标题】:simple REST call from Javascript来自 Javascript 的简单 REST 调用
【发布时间】:2013-04-14 18:03:03
【问题描述】:

我正在尝试从这里调用我的服务 http://diningphilospher.azurewebsites.net/api/dining

使用下面的javascript,

$.ajax(
{
    type: "GET",
    dataType: "json",
    url: "http://diningphilospher.azurewebsites.net/api/dining/",
    success: function (data) 
    {
        alert(data);
    }
});

但我收到有关跨源的错误。我看到有人建议使用 JSONP,但我猜我的服务器不支持 JSONP。我研究了CORS,无法理解它的头部或尾部。我想知道如何阅读位于不同域中的 JSON。

【问题讨论】:

  • 您对 CORS 有哪些不了解的地方?你在运行什么服务器?我很确定它可以处理 json。
  • @Musa,目前如果我使用它,我会收到 CORS 错误。如何解决。有人告诉我添加一个 Access-Control-Request-Allow-method 作为请求的一部分。我找不到一个简单的工作示例。我看到的只是 W3C 文档。是否有链接显示如何通过示例在客户端启用 CORS
  • 尝试添加这个Access-Control-Allow-Origin: * http header。
  • url 正在输出 xml 而不是 json 或 jsonp。至于支持 jsonp 的服务器... jsonp 只是被浏览器解析为脚本的文本输出
  • @charlietfl 很棒。你是对的,我现在正在努力将默认格式化程序从 xml 删除到 json。希望它有效

标签: javascript jquery json rest getjson


【解决方案1】:

我希望这应该有效:

$.ajax(
{
    type: "GET",
    dataType: "jsonp",
    url: "http://diningphilospher.azurewebsites.net/api/dining/",
    success: function (data) 
    {
        alert(data);
    }
});

或者只是添加/附加 ?callback=? 以及您的跨域网址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-04
    • 2017-10-19
    • 1970-01-01
    • 2011-05-10
    • 1970-01-01
    相关资源
    最近更新 更多