Php Phonegap android ajax在android设备上不起作用

Php Phonegap android ajax在android设备上不起作用,php,android,jquery,ajax,cordova,Php,Android,Jquery,Ajax,Cordova,我创建了一个示例,其中我进行了一个简单的ajax调用,将数据发送到android应用程序。 以下是ajax函数: function testServer() { var db = window.openDatabase("Database", "1.1","Test Exmple", 500000); $.ajax({ url: urlServer+'getTest.php', contentType : 'application/json',

我创建了一个示例,其中我进行了一个简单的ajax调用,将数据发送到android应用程序。 以下是ajax函数:

function testServer()
{
    var db = window.openDatabase("Database", "1.1","Test Exmple", 500000);
    $.ajax({
        url: urlServer+'getTest.php',
        contentType : 'application/json',
        dataType: 'json',
        data : {companyCode : 'Template'},
        success : function(data){
            alert(data);
        },
        error : function(xhr, ajaxOptions, thrownError) {

            console.log("Server is not responding... Please try after sometime"+thrownError);

        }
    });
}
以下是php代码:

<?
 require_once ('connect.php');
 include("AES.class.php");
 $companyurl =$_REQUEST['companyCode'];

 $data = $companyurl;

 require_once('JSON.php');
 $json = new Services_JSON();
  echo ($json->encode($data));
 ?>

以下是日志:

 06-05 16:59:27.165: E/CordovaWebView(23703): CordovaWebView: TIMEOUT ERROR!
 06-05 16:59:27.165: D/Cordova(23703): CordovaWebViewClient.onReceivedError: Error code=-6 Description=The connection to the server was unsuccessful. URL=file:///android_asset/www/TestComp.html
 06-05 16:59:27.165: D/DroidGap(23703): onMessage(onReceivedError,{"errorCode":-6,"url":"file:\/\/\/android_asset\/www\/TestComp.html","description":"The connection to the server was unsuccessful."})
 06-05 16:59:27.255: D/skia(23703): notifyPluginsOnFrameLoad not postponed
 06-05 16:59:27.416: D/SoftKeyboardDetect(23703): Ignore this event
 06-05 16:59:27.416: D/CordovaLog(23703): Server is not responding... Please try after sometime
 06-05 16:59:27.416: I/Web Console(23703): Server is not responding... Please try after sometime at file:///android_asset/www/TestComp.html:24
 06-05 16:59:27.426: D/Cordova(23703): onPageFinished(file:///android_asset/www/TestComp.html)
 06-05 16:59:27.426: D/DroidGap(23703): onMessage(onPageFinished,file:///android_asset/www/TestComp.html)
 06-05 16:59:27.486: I/Adreno200-EGLSUB(23703): <ConfigWindowMatch:2078>: Format RGBA_8888.
 06-05 16:59:27.496: D/memalloc(23703): ashmem: Mapped buffer base:0x51f47000 size:675840 fd:124
 06-05 16:59:27.526: D/OpenGLRenderer(23703): has fontRender patch
 06-05 16:59:27.596: D/OpenGLRenderer(23703): has fontRender patch
 06-05 16:59:27.626: D/memalloc(23703): ashmem: Mapped buffer base:0x5460c000 size:675840 fd:130
 06-05 16:59:28.687: D/memalloc(23703): ashmem: Mapped buffer base:0x5470c000 size:675840 fd:133
06-05 16:59:27.165:E/CordovaWebView(23703):CordovaWebView:超时错误!
06-05 16:59:27.165:D/Cordova(23703):CordovaWebViewClient.onReceivedError:Error code=-6 Description=与服务器的连接未成功。网址=file:///android_asset/www/TestComp.html
06-05 16:59:27.165:D/DroidGap(23703):onMessage(onReceivedError,{“errorCode”:-6,“url”:“file:\/\/\/android\u asset\/www\/TestComp.html”,“description”:“与服务器的连接未成功”。})
06-05 16:59:27.255:D/skia(23703):notifyPluginsOnFrameLoad未延迟
06-05 16:59:27.416:D/软键盘检测(23703):忽略此事件
06-05 16:59:27.416:D/CordovaLog(23703):服务器没有响应。。。请稍后再试
06-05 16:59:27.416:I/Web控制台(23703):服务器没有响应。。。请稍后在file:///android_asset/www/TestComp.html:24
06-05 16:59:27.426:D/科尔多瓦(23703):第页完成(file:///android_asset/www/TestComp.html)
06-05 16:59:27.426:D/DroidGap(23703):onMessage(onPageFinished,file:///android_asset/www/TestComp.html)
06-05 16:59:27.486:I/Adreno200 EGLSUB(23703)::格式RGBA_8888。
06-05 16:59:27.496:D/memalloc(23703):ashmem:映射的缓冲区基:0x51f47000大小:675840 fd:124
06-05 16:59:27.526:D/OpenGLRenderer(23703):具有fontRender修补程序
06-05 16:59:27.596:D/OpenGLRenderer(23703):具有fontRender修补程序
06-05 16:59:27.626:D/memalloc(23703):ashmem:映射缓冲区基:0x5460c000大小:675840 fd:130
06-05 16:59:28.687:D/memalloc(23703):ashmem:映射的缓冲区基数:0x5470c000大小:675840 fd:133
但是它在模拟器上工作得非常好

有人能帮我找到问题吗

提前感谢

请参阅:


看起来像是跨域请求。 因此,尝试将数据类型从“json”更改为“jsonp”。 在这里,我更新了您的代码:

function testServer()
{
var db = window.openDatabase("Database", "1.1","Test Exmple", 500000);
$.ajax({
    url: urlServer+'getTest.php',
    contentType : 'application/json',
    dataType: 'jsonp',
    data : {companyCode : 'Template'},
    success : function(data){
        alert(data);
    },
    error : function(xhr, ajaxOptions, thrownError) {

        console.log("Server is not responding... Please try after     sometime"+thrownError);

    }
});
}

伙计们,谢谢你们的帮助,代码中没有错误,问题是防火墙只是允许访问防火墙中的端口,它工作得很好。
再次感谢您的帮助。

super.setIntegerProperty(“loadUrlTimeoutValue”,60000);super.loadUrl(“file:///android_asset/www/index.html"); 将此添加到android中activity@HariniSekar我已经添加了此属性检查您是否在AndroidManifest文件中设置了INTERNET_连接权限参考:在AndroidManifest文件中也设置了INTERNET_连接权限和存储权限知道其与服务器的错误连接未成功。您能试一下吗删除行:contentType:“应用程序/json”
function testServer()
{
var db = window.openDatabase("Database", "1.1","Test Exmple", 500000);
$.ajax({
    url: urlServer+'getTest.php',
    contentType : 'application/json',
    dataType: 'jsonp',
    data : {companyCode : 'Template'},
    success : function(data){
        alert(data);
    },
    error : function(xhr, ajaxOptions, thrownError) {

        console.log("Server is not responding... Please try after     sometime"+thrownError);

    }
});
}