0

我有一个在 localhost:3000 上运行的 rails api。在我的 phonegap 应用程序上,我试图通过 api 登录,但它给出了一个错误(“错误”)并且没有访问 api。跨域请求可能有问题,但据说在移动设备中没有这样的事情。互联网正在工作。

我的阿贾克斯:

$.ajax({
        url: 'localhost:3000/api/v1/login',
        type: "POST",
        dataType: "json",
        data : {username:"demo",password:"demo"},
        success: function(data) {
           navigator.notification.alert("ok");
        },
        error: function(xhr, textStatus, errorThrown) {
              console.log("Error status " + status);
        }
});    

编辑 2 - 已解决

您必须使用本地 IP,例如。192.168.2.2 并在 ExternalHosts 键的 Cordova.plist 中添加主机。

4

1 回答 1

0

这是因为当您在设备/模拟器上运行此代码时使用“localhost”,然后“localhost”指的是设备/模拟器本身,而不是包含您的 rails API 的 Web 服务器。您需要将“localhost”切换到服务器的 IP 地址或主机名。

于 2012-10-26T13:25:07.193 回答