[英]Android - AJAX in Java
我想知道如何調用一個函數,就像在 jQuery 中一樣,然后在 Java 中(對於本機 Android 應用程序)。
$.ajax({
url:"http://test.com/read_mySQL.php",
method:"POST",
data:{username:uname_field,password:upass_field},
}).success(function(response){
if (response=="correct"){
alert("You are now logged in");
}
});
以上是 JavaScript 的代碼,但我想知道代碼在 Java 中會是什么樣子。
謝謝!
對於 Android,您可以使用OkHttp
那里的一個例子
public static final MediaType JSON
= MediaType.parse("application/json; charset=utf-8");
OkHttpClient client = new OkHttpClient();
String post(String url, String json) throws IOException {
RequestBody body = RequestBody.create(JSON, json);
Request request = new Request.Builder()
.url(url)
.post(body)
.build();
Response response = client.newCall(request).execute();
return response.body().string();
}
更新
請閱讀這篇文章Using OkHttp ,尤其是Asynchronous Network Calls 。 因為您將需要異步執行請求。
參考《使用OKHttp,AsyncTask中同步請求和OKhttp異步請求有什么區別?》 有關為什么比使用OkHttp
優於AsyncTask更可取的一些附加說明。
AJAX - 異步 JavaScript 和 XML
顧名思義,ajax 屬於 JavaScript。 您應該使用本機 android 庫來發出請求。
我建議將OkHttp (Http 客戶端)與Retrofit 2結合使用(允許簡單的異步調用,如 ajax 等等)。
正如我所研究的那樣,AsyncTask 是用於調用另一個線程(后台運行)的,那么它是否也用於 AJAX?
不可以。但是新 Android 版本 (4.x) 中的任何HTTP 調用都需要在 AsyncTask 中調用。
而且,你需要 android.INTERNET 許可。
否則,它不會工作。
有關更多信息,您可以閱讀以下內容:
簡單的 Android GET 和 POST 請求示例
http://codeproject.com/Tips/1034468/Android-Simply-Sending-HTTP-GET-POST-Requests-To-S
如上所述,AJAX 代表異步 JavaScript 和 XML。 要在 Java Android 中創建 httpRequest,我強烈建議使用 Volley 庫和單例模式: https ://developer.android.com/training/volley/request
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.