2013-06-20 3 views
0

Привет, мне нужно разработать мобильное приложение с использованием кросс-платформенной технологии (HTML, CSS, JAVASCRIPT), в которой мне нужно отправить данные на сервер и получить данные с сервера. используйте ajax, поэтому я попробовал приведенный ниже код.Как обмениваться данными с сервером из мобильного веб-приложения

<!DOCTYPE html> 
    <html> 
    <head> 
    <script src="jquery-1.10.1.min.js"></script> 
    <script> 
    $(document).ready(function(){ 
     $("button").click(function(){ 
     $("#div1").load("http://10.16.10.188/login/Hello.txt"); 
     }); 
    }); 
    </script> 
    </head> 
    <body> 

    <div id="div1"><h2>Let jQuery AJAX Change This Text</h2></div> 
    <button>Get External Content</button> 

    </body> 
    </html> 

Приведенный выше код работает, когда я сохранить этот HTML и текстовый файл на сервере WAMP в одном каталоге. но он не работает, когда я храню этот html-файл в моей папке и текстовом файле Android на сервере.it не дает ответа. Может кто-то, пожалуйста, помогите мне сделать это. Большое спасибо

+1

Вам необходимо включить CORS на сервере: http://enable-cors.org –

ответ

1

Я был в состоянии решить проблему, используя jsonp в нижеприведенном коде.

<!DOCTYPE html> 
    <html> 
    <head> 
    <script src="jquery-1.10.1.min.js"> 
    </script> 
    <script> 
    $.ajax({ 
    url:"http://10.16.10.188/login/loginValidator.php", 
    dataType: "jsonp", 
    success:function(data,status){ 
    if(status=='success') 
    { 
    alert("Data: " + data.fullname + "\nStatus: " + status); 
    var val = data.fullname; 
    $("#imchanged").html(val); 
    } 
    } 
    }); 
    </script> 
    </head> 
    <body> 
    <div id="div1"><h2>Let jQuery AJAX Change This Text</h2></div> 
    <button id="imchanged">Get External Content</button> 
    </body> 
    </html> 

Ниже приведен код loginValidator.php, где указаны мои html-точки.

<?php 
    $array = array(
    'fullname' => 'Jeff Hansen', 
    'address' => 'somewhere no.3' 
    ); 
    $data = json_encode($array); 
    echo $_GET['callback']."(".$data.")"; 
    ?> 

Использование вышеуказанного кода Я могу вызвать php-файл из мобильного эмулятора и получить ответ от сервера.

Смежные вопросы