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

时间:2010-11-29 19:14:29

标签: .net ajax rest

我在http://localhost/machinename/自托管了一个支持AJAX的REST Web服务,在.NET Development Server上托管了一个运行在http://localhost:59103/的测试项目。我已经将我的脚本引用添加到我的测试项目并引用了js(http://localhost/machinename/js/)但是,当调用REST调用时,它会一直尝试调用http://localhost:59103/machinename/Method/,这不存在,因为它不是托管我的服务的地方,而不是我告诉它我的服务存在的地方。

我的问题是2折:

  1. 为什么不呼唤正确的端点?
  2. 我可以调用正确的端点吗?

1 个答案:

答案 0 :(得分:1)

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

当然,这是一个已知问题。您可能希望将JSONP作为一种可能的解决方法。