2016-11-10 23 views
0

我使用Visual Studio在Cordova中创建跨平台应用程序。 我需要与外部网络服务器进行通信,该服务器会对我的MSSQL服务器进行处理。Java(ajax)与外部PHP(VS中的Cordova)进行通信

在客户端我有一个的Index.html文件,它使用一个外部JavaScript文件index.js

在服务器端我有几个PHP页面。每一个人都有不同的目的。

的Index.html:

<form id="sendmsg" method="POST" action="http://www.somesite.com/.../processingmsg.php" enctype="multipart/form-data"> 
      <p class="darkbg">* verplichte velden</p> 
      <div class="form-group"> 
       <label class="darkbg">Naam</label> 
       <input class="form-control" onkeyup="lengtecheck()" type="text" name="naam" id="naam" /> 
      </div> 
      <div class="form-group"> 
       <label class="darkbg">Leeftijd</label> 
       <input class="form-control" onkeyup="lengtecheck()" type="text" name="leeftijd" id="leeftijd" /> 
      </div> 
      <div class="form-group"> 
       <label class="darkbg">Telefoon</label> 
       <input class="form-control" onkeyup="lengtecheck()" type="text" name="telefoon" id="telefoon" /> 
      </div> 
      <div class="form-group"> 
       <label class="darkbg">Email</label> 
       <input class="form-control" onkeyup="lengtecheck()" type="email" name="email" id="email" /> 
      </div> 
      <div class="form-group"> 
       <label class="darkbg">*ES Code</label> 
       <input class="form-control" onkeyup="lengtecheck()" type="text" name="escode" id="escode" required /> 
      </div> 
      <div class="form-group"> 
       <label class="darkbg">*Bericht</label> 
       <p class="darkbg" id="tekens">0/100</p> 
       <textarea class="form-control" onkeyup="lengtecheck()" rows="7" id="msg" name="msg" cols="20" placeholder="Typ hier uw bericht..." maxlength="100" required></textarea> 
      </div> 
      <input class="btn btn-primary" type="submit" value="Send" id="Send"> 
      <input action="action" class="btn btn-danger" type="button" onclick="window.history.back();" value="Back"> 
     </form> 

我怎样才能让这样,当用户点击发送按钮,processingmsg.php将处理一切和成功,触发了一个JavaScript函数客户端?

其他问题:我可以用这个返回一组结果(例如表格,下拉值等)吗?

+0

PHP是服务器端的代码,它不能触发客户端上的任何东西。一旦你的表单被提交,它将销毁HTML/CSS/Javascript的当前上下文。意思是没有物体存在了。你应该为此使用Ajax。 Ajax调用将调用PHP代码而不刷新,从而销毁当前页面,并且可以在获得PHP代码的响应后运行回调。 – 11thdimension

回答

0

不要依靠浏览器的默认<form action="...">处理来做到这一点。而是使用AJAX(XHR)。 HTML5Rocks有一个很好的例子:https://www.html5rocks.com/en/tutorials/file/xhr2/#toc-send-formdata

然后,您可以根据需要解析响应并根据需要更新您的DOM。我建议您返回JSON,因为您可以使用JSON.parse(response)来获得易于使用的有用JavaScript对象。

提示:使用HTTPS和SSL/TLS。不要忘记将您的主机列入白名单,并适当设置您的元标记。

+0

你怎么能赶上一段时间的回应呢? –

+0

我不明白你在评论中提出的问题。请重新说明。 –

+0

我的PHP做了一个While循环。 我怎样才能捕捉到与AJAX –

相关问题