2016-04-14 63 views
0

在PHP SOAP的Web服务的操作在我的PHP Web服务,我有一个函数:呼叫于Android的PhoneGap

function create_promo($codeBarre, $designation, $dateDebut, $dateFin, $prix, $TVA) 
{ 
    $db = new PDO('mysql:host=localhost;dbname=phone', 'root', ''); 
    $req = $db->prepare("insert into promotion 
          values 
          (:codeBarre, :designation, :dateDebut, :dateFin, :prix, :TVA)"); 
    $req->execute(array(':codeBarre'=>$codeBarre, ':designation'=>$designation, 
         ':dateDebut'=>date("Y-m-d", strtotime($dateDebut)), 
         ':dateFin'=>date("Y-m-d", strtotime($dateFin)), 
         ':prix'=>$prix, ':TVA'=>$TVA)); 
    return "promotion créer";  
} 

此功能是在C:\ WAMP \ WWW。

创建我的科尔多瓦项目,我写这篇文章的代码:

<script type="text/javascript" src="js/jquery.js"></script> 
    <title>Hello World</title> 
    <script type="text/javascript"> 

    $(document).ready(function() { 
     $("#Ajouter").click(function() { 
      var codeBarre = $("#codeBarre").val(); 
      var designation = $("#designation").val(); 
      var dateDebut = $("#dateDebut").val(); 
      var dateFin = $("#dateFin").val(); 
      var prix = $("#prix").val(); 
      var TVA = $("#TVA").val(); 
      var dataString = "codeBarre=" + codeBarre + "&designation=" + designation + "&dateDebut=" + dateDebut + "&dateFin=" + dateFin + "&prix=" + prix + "&TVA=" + TVA + "&Ajouter="; 
      $.ajax({ 
       url:"https://192.168.1.12/testphone/server.php//create_promo", 
       type:"POST", 
       data:dataString, 
       crossDomain:true, 
       cache:false, 
       beforeSend: function(){ $("#insert").val('Connecting...');}, 
       success: function(data){ 
        if (data=="ok") 
        { 
         alert("inserted"); 
         $("#Ajouter").val('submit'); 
        } 
        else if (data=="error") 
        { 
         alert("error"); 
        } 
       } 
      }); 
      return false; 
     }); 
    }); 
    </script> 
</head> 
<body> 

    <!--<div id="deviceready" class="blink"> 
    <p class="event listening">Connecting to Device</p> 
    <p class="event received">Device is Ready</p>--> 
    <form method="post"> 
    <table> 
     <tr> 
     <td>Code Barre:</td> 
     <td> <input type="text" id="codeBarre"></td> 
     </tr> 
     <tr> 
     <td>Designation:</td> 
     <td> <input type="text" id="designation"></td> 
     </tr> 
     <tr> 
     <td>Date Debut:</td> 
     <td> <input type="date" id="dateDebut"></td> 
     </tr> 
     <tr> 
     <td>Date fin:</td> 
     <td><input type="date" id="dateFin"></td> 
     </tr> 
     <tr> 
     <td>Prix:</td> 
     <td> <input type="number" id="prix" step="any"></td> 
     </tr> 
     <tr> 
     <td>TVA:</td> 
     <td> <input type="number" id="TVA"></td> 
     </tr> 
     <tr> 

     <td> <input type="button" id="Ajouter" value="Ajouter"></td> 
     </tr> 
    </table> 
    </form>   

    <script type="text/javascript" src="cordova.js"></script> 
    <script type="text/javascript" src="js/index.js"></script> 
</body> 

的科尔多瓦项目是在C:目录。 警告消息不显示;我如何显示错误?

+0

你测试浏览器的代码? –

+0

不,我在模拟器中测试 – user1674906

回答

0

这可以产生,因为脚本时,设备已准备就绪不加载,尝试改变

$(document).ready(function(){ 
... 

document.addEventListener("deviceready", onDeviceReady, false); 

function onDeviceReady(){ 
    $("#Ajouter").click(function() { 
    //.... rest of code 

} 

附加误差函数赶上如果请求失败

$.ajax({ 
      url:"https://192.168.1.12/testphone/server.php//create_promo", 
      type:"POST", 
      data:dataString, 
      crossDomain:true, 
      cache:false, 
      beforeSend: function(){ $("#insert").val('Connecting...');}, 
      success: function(data){ 
       if (data=="ok") 
       { 
        alert("inserted"); 
        $("#Ajouter").val('submit'); 
       } 
       else if (data=="error") 
       { 
        alert("error"); 
       } 
      }, 
      error: function(err){ 
       alert('error'+err); 
      } 
}); 

我也会建议你改变你输入的类型:

<input type="submit" id="Ajouter" value="Ajouter"> 

,改变点击的情况下,与防止默认提交,这样的事情:

$("#Ajouter").on('submit',function(e){ 
    e.preventDefault(); 

这里是你的代码的工作:http://jsfiddle.net/07t069uf/5

+0

我编辑我的代码,但警告消息不显示,插入未完成。 – user1674906

+0

错误消息怎么样?被展示? –

+0

不显示消息。 – user1674906