2013-04-25 71 views
0

我是新的ajax,但對android非常熟悉。我正在將ajax程序轉換爲android應用程序。作爲它的一部分,我需要將數據發佈到服務器。下面是ajax中給出的post命令。Ajax在Android java中發佈數據

var postTo = 'xyz.php'; 
$.post(postTo,{employee_name: $('[name=employee_name]').val() , phone: $('[name=phone]').val(), employee_type: 'guest' } , 
function(data) { 

if(data.success){ 
window.localStorage["sa_id"] = data.mid; 
window.location="getempdb.html"; 
} 

if(data.message) { 
$('#output').html(data.message); 
} else { 
$('#output').html('Could not connect'); 
} 
},'json'); 

我想在android中實現這一點,但從上述語句中很少。任何擅長ajax的人都可以幫助我解決這個問題。截至目前,我將用戶名和電話號碼作爲編輯文本輸入。我需要使用http客戶端將其發送到php。我知道如何使用PHP發送數據,但不知道要發送什麼格式,以及它是發送一個字符串還是發送一個json對象。請幫助解釋上述代碼和義務。

回答

1

顯然,這使用UrlEncodedFormEntity如果您在android中使用HttpClient

這是使用列表NameValuePair創建的。

從參數到$。員額:

{employee_name: $('[name=employee_name]').val() , phone: $('[name=phone]').val(), employee_type: 'guest' } 

你必須創建一個對的NameValuePair employee_name,一個phone ......每一個都是從HTML元素名稱employee_namephone牽強.. 。這是你放置EditTexts的值的地方。

它返回一個JSON格式的字符串,你有(一旦你從服務器獲得的結果通常是使用JSONObject obj = new JSONObject(result);

在此JSON對象來解析,您有一個名爲success鍵,它的格式不指定,除非你可以假設事情進展順利,如果它存在;密鑰mid和密鑰message

+0

感謝您的精彩交談。但這是一個httppost,所以我必須創建一個包含employee_name和phone字段作爲其鍵值對的json對象,並且需要將它們與content type = application/json一起發佈,我是否正確? – bharath 2013-04-25 13:05:42

+0

我不認爲帖子正文應該是json對象。我認爲它只是一個UrlEncodedFormEntity,所以你會調用httppost.setEntity(myUrlEncodedFormEntity);在實體中使用您的namevaluepairs,而不是帶有json內容的StringEntity。 – njzk2 2013-04-25 13:46:39