【问题标题】:i am trying to make an ajax request from my phonegap app to servlet running on my laptop,我正在尝试从我的 phonegap 应用程序向笔记本电脑上运行的 servlet 发出 ajax 请求,
【发布时间】:2013-06-20 13:23:19
【问题描述】:

我正在尝试从我的 phonegap 应用程序向我的笔记本电脑上运行的 servlet 发出 ajax 请求, 它击中服务器,但 ajax 请求总是会出错。 如果我会在普通浏览器中执行相同的请求,工作正常。

function cred() { 
    var username = "hisari";
    var password = "kumar";
    var ul = "ip" ;     

    $.ajax({ 
        type: "GET",
        url: ul,
        dataType: "json",
        success: function(msg, textstatus) {
            alert("success"); 
            if (msg.id != null)
            {
            } else if (msg.error_id) 
            {       
                 //Error    
                alert('Error logging in:' + msg.error_message);
            }           
        },      
        error: function(error) {            
            alert("Error connecting to the servers" + error.message);       
        }   
    }); 
}  

请给我一个解决方案,如果可能的话,建议我可以用什么代替servelet进行登录验证

【问题讨论】:

  • 这真的不足以让我们帮助您。错误对象的内容是什么?你试过console.log 吗?

标签: ajax servlets cordova


【解决方案1】:

您的 IP 使用的是 127.0.0.1 还是 localhost?如果是这样,您将需要在测试应用程序时使用您机器的实际 IP。这是因为当您将应用程序加载到设备或模拟器中时,127.0.0.1 将解析为实际设备或模拟器本身,而不是您的机器。 (如果使用 Android 模拟器,您可以使用 10.0.2.2 访问您机器上的 localhost,请参阅http://developer.android.com/tools/devices/emulator.html#emulatornetworking)。

【讨论】:

  • 不,我提供了实际的 ip.... 192.168.1.5 并且它命中了 servlet...但仍然总是打印错误部分。我尝试将内容类型设置为 json 作为响应,但没有进展。还是一样的问题...
  • 你能打印出你的servlet返回给你的完整的JSON数据包吗?
【解决方案2】:

您是否已将主机添加到 config.xml 中的白名单?

<access origin="http://127.0.0.1*" /> <access origin="http://*.google.com" />

【讨论】:

  • 我已将访问源设为 ,并将实际 IP 设为 192.168.1.5。它正在到达 servlet,我检查了日志.....
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-27
  • 2023-01-13
相关资源
最近更新 更多