PhoneGap应用程序无法在Google Ripple上运行

我正在开发一个phoneGap应用程序。 当我在浏览器中测试我的应用程序时没有问题。 万事如意。 但是当我在涟漪中尝试它时,我的javascript无法正常工作。 详细信息:用户可以登录系统,如果它成功重定向到另一个页面(使用jquery mobile),它在chrome,Internet Explorer和firefox中运行良好。 但是在波纹中不起作用。 我的代码如下所示:

              $(function() { var credentials = 'admin:adminabc'; var authType = "Basic " + credentials; $('#loginForm').submit(function() { $.ajax({ type : "GET", url : 'http://localhost:30673/api/user/Get', data : 'json', beforeSend : function(xhr) { xhr.setRequestHeader("Authorization", authType); }, success : function(data, textStatus) { $.mobile.changePage("#menu", { transition : "slideup" }); } }); }); $("#aboutUs").click(function() { $.ajax({ type : "GET", url : 'http://localhost:30673/api/AboutMeWA/', data : 'json', beforeSend : function(xhr) { xhr.setRequestHeader("Authorization", authType); }, success : function(data, textStatus) { $('#aboutMeTitle').val(data); } }); }); }); function onBodyLoad() { document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { document.addEventListener("pause", onPause, false); document.addEventListener("resume", onResume, false); } function onPause() { alert("paused"); } function onResume() { alert("resume"); } }    

Ziro

Menü

FF Yazılım

Hakkımızda

Galeriden Resim Seç
Kaydet

FF Yazılım

我的申请结构如下所示:

在此处输入图像描述

错误代码是:xhr_proxy?tinyhippos_apikey = ABC&tinyhippos_rurl = http%3A // localhost%3A30673 / ap i / user / Get%3Fjson rippleapi.herokuapp.com状态代码:500内部服务器错误我从localhostpost地址获取数据:本地主机:30673 / API /用户/获取“; 它在浏览器中运行良好。 从localhost获取数据:30673 / api / user / Get。 但是在涟漪中,它试图从那里获取数据:xhr_proxy?tinyhippos_apikey = ABC&tinyhippos_rurl = http%3A // localhost%3A30673 / api / u ser / Get%3Fjson rippleapi.herokuapp.com

需要建议的人。

您可能遇到的问题是您正在使用Ripple的跨域代理,该代理默认情况下在设置中打开。

跨域代理有3个设置:“远程”,“本地”和“禁用”。 在我的情况下,我实际上必须禁用它,但在某些情况下,您将能够使用“本地”。

可能的情况:

1) 您的本地应用程序在另一台服务器上的某个地方调用远程服务:

您可以使用“远程”或“禁用”,具体取决于远程服务器上的配置。

2) 您的本地应用程序位于“localhost”,并且您正在调用另一个localhost可访问的URL:

您可以使用“本地”或“禁用”,具体取决于您的跨域设置等。

3) 您正在运行一个本地应用程序,该应用程序调用也是本地但在虚拟机中的服务器,或使“localhost”上的代理无法访问的服务器:

您需要将其设置为“已禁用”,并确保您的api服务器具有允许跨域请求的设置。 最值得注意的是,您需要设置“Access-Control-Allow-Origin”标头。

我遇到过同样的问题。 当我尝试连接到IISExpress上托管的WebAPI服务时, 就会发生这种情况。

在我将托管更改为本地IIS服务器之后,错误消失了,我可以使用Ripple连接到我的WebAPI服务。 当然,您必须更改指向您的服务的URL(在您的情况下,它是http://localhost:30673 )。