2016-11-10 46 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 –

相關問題