4

My code is like

$.ajax({
    cache: false,
    url:  <Web Service URL>,
    data: "{}",
    type: 'GET',
    crossDomain: true,
    dataType: 'json',
    success: function() { alert("Success"); },
    error: function() { alert('Failed!'); },
});

I'm trying to access the REST API from client side using JQuery but it gives error like XMLHttpRequest cannot load <Web Service URL>. Origin null is not allowed by Access-Control-Allow-Origin.

So may someone help me to resolve this error..?

4

3 回答 3

2

在谷歌之后,我知道,用户必须在 phonegap/hybrid 应用程序的 config.xml 中添加“”。

于 2013-11-14T06:57:50.450 回答
1

Ajax 请求需要发送到为网页提供服务的服务器。

您可以做的是在您的网站上安装一个代理,将来自浏览器的请求转发到您希望拨打电话的网站。

http://your.site.here/proxy/bentley/LearnService/Learnservice.svc/REST/ ...

因此,如果您碰巧使用 apache,您可以通过在 httpd.conf 中添加如下内容来配置反向代理:

ProxyPassReverse /proxy/bentley http://khara37793punl.bentley.com/
于 2012-10-03T06:47:19.557 回答
1

看看这个问题的其他 SO 问题: Access Control Allow Origin not allowed by

还有著名的: Access-Control-Allow-Origin Multiple Origin Domains?

所有这些都解释了这些答案,您必须允许为您的服务器编写脚本,或者您的脚本必须在同一台服务器上。

于 2012-10-03T07:51:56.433 回答