使用JQuery for phonegap Application在客户端使用REST API

时间:2012-10-03 06:42:30

标签: javascript ajax jquery

我的代码就像

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

我正在尝试使用JQuery从客户端访问REST API,但它提供了类似的错误 XMLHttpRequest cannot load <Web Service URL>. Origin null is not allowed by Access-Control-Allow-Origin.

所以有人可以帮我解决这个错误..?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

Ajax请求需要是服务于网页的服务器。

您可以在您的网站上设置一个代理,将代理从浏览器转发到您希望拨打电话的网站。

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

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

ProxyPassReverse /proxy/bentley http://khara37793punl.bentley.com/

答案 2 :(得分:1)

使用此问题查看其他SO问题: Access Control Allow Origin not allowed by

而着名的: Access-Control-Allow-Origin Multiple Origin Domains?

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