代码之家  ›  专栏  ›  技术社区  ›  Wes P

从另一个项目使用支持Ajax的REST服务

  •  0
  • Wes P  · 技术社区  · 14 年前

    我有一个支持Ajax的REST Web服务,它自己托管在 http://localhost/machinename/ 一个测试项目在 http://localhost:59103/ 托管在.NET开发服务器上。我已经将脚本引用添加到我的测试项目中并引用了JS( http://localhost/machinename/js/ )但是,当调用REST调用时,它会不断尝试调用 http://localhost:59103/machinename/Method/ 不存在,因为我的服务不在这里托管,也不在我告诉它我的服务存在的地方。

    我的问题有两个:

    1. 为什么它不能调用正确的端点?
    2. 我可以让它调用正确的端点吗?
    1 回复  |  直到 14 年前
        1
  •  1
  •   jbrendel    14 年前

    我认为这与JavaScript沙盒安全模型有关,JS只允许向页面所在的源服务器发出请求(而不是JS脚本!)装满了。在您的情况下似乎会发生这种情况:主机标识符被从URI中剥离出来。

    当然,这是一个已知的问题。你可能想看看 JSONP 一种可能的方法。