【发布时间】:2015-05-04 07:01:34
【问题描述】:
{
"AppId":"222",
"AdminUserId":"118",
"Data": [
{"FormId":456,
"FormFieldList":[
{"Value":"owe app","FieldId":"1727"},
{"Value":"","FieldId":"1728"}]}
],
"key":"22"
}
我正在尝试将上述 json 数据作为参数 'jsonData' 发布在以下 url 中: http://apptudio.com/api/OWE/SaveAllDataByForm
这就是我尝试这样做的方式:
JSONObject jsonParams = new JSONObject();
StringEntity entity = null;
String jsonFormData = "{\"AppId\":\"222\",\n" +
"\"AdminUserId\":\"118\", \"key\":\"22\", \"Data\":[ { \"FormId\":456,\"FormFieldList\":[ {\"Value\":\"shadek\",\"FieldId\":\"1727\"},{\"Value\":\"\",\"FieldId\":\"1728\"}] } ] }";
try {
jsonParams.put("jsonData", jsonFormData);
try {
entity = new StringEntity(jsonParams.toString());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
} catch (JSONException e) {
e.printStackTrace();
}
AsyncHttpClient client = new AsyncHttpClient();
client.post(mContext, url, entity, "application/json", new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
Log.d("Success.....", new String(responseBody));
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
if(responseBody != null)
Log.d("Failure......", new String(responseBody));
else
Log.d("Failure....", ".............");
}
});
我在android中得到以下调试结果:
D/Failure......﹕ [ 05-04 11:14:03.213 91: 272 D/AudioHardware ]
AudioHardware pcm playback is going to standby.
我是否从服务器收到此失败消息?还是没有请求服务器?
【问题讨论】:
-
什么是
jsonFormData? -
您也应该记录两个句柄的 statusCode。请告诉。
-
jsonFormData 是第一个代码 sn-p。
-
请将其以文本形式放入变量中,以便我们尝试。像 jsonFormData = ...
-
好的,我已经改了。