我使用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函數客戶端?
其他問題:我可以用這個返回一組結果(例如表格,下拉值等)嗎?
PHP是服務器端的代碼,它不能觸發客戶端上的任何東西。一旦你的表單被提交,它將銷燬HTML/CSS/Javascript的當前上下文。意思是沒有物體存在了。你應該爲此使用Ajax。 Ajax調用將調用PHP代碼而不刷新,從而銷燬當前頁面,並且可以在獲得PHP代碼的響應後運行回調。 – 11thdimension