0

我正在尝试使用 jquery 调用本地 webservice/webApi,但我已经被困了好几天了。有人可以帮我吗?

所以我的网络服务位于 localhost 端口 4011 即 localhost:4011/api/poi/

我的 javascript 位于本地主机端口 localhost:4213/ 上,我是这样称呼它的:

    $.get('http://localhost:4011/api/values', function (data) {
        alert(data);
    });        

当我直接将url输入浏览器时,它返回了结果。但是当我使用 jquery 调用它时。我没有回应(从开发人员工具中查看)。

我不确定我做错了什么。请帮忙。

如果有帮助,我正在使用 webApi mvc .net4。

4

3 回答 3

1

这是由于同源政策。由于 API 与您提供网页的端口不同,因此浏览器将不允许您发出请求。

您可以使用 jsonp 来解决这个问题,或者在您的 Web 服务上使用跨源策略。

于 2012-06-27T04:19:19.410 回答
1

如果您使用的是 CrossDomain,请使用此选项,因为 CrossDomain 在 jQuery 中不起作用!

$.ajax({
    url: 'ajax/test.html',
    crossDomain: true,
    success: function(data) {
        alert(data);
    }
});
于 2012-06-27T04:23:13.377 回答
0

您可能会受到跨源策略CORS的限制。配置您的 Web 服务以接受来自跨域的请求。您可以添加Access-Control-Allow-Origin标题,例如

responseMessage.Headers.Add("Access-Control-Allow-Origin","*");
于 2012-06-27T04:16:55.840 回答