AQuery POST-запрос

AjaxCallback<XmlDom> cb = new AjaxCallback<XmlDom>();
cb.weakHandler(this, callback).url(soapUrl).type(XmlDom.class)
    .header("CustomHeader", "Custom_header_string")
    .header("Content-Type", "application/xml;charset=utf-8");
cb.method(AQuery.METHOD_POST);
HttpEntity entity = new StringEntity(data);
cb.param(AQuery.POST_ENTITY,entity);
cb.setSSF(SelfSignedCertsSSLSocketFactory.getSocketFactory());
aq.sync(cb);

мой код Aquery для отправки POST-запроса на сервер в сети VPN. Кажется, я получаю ответ 200, поскольку я получаю следующее, но обратный вызов никогда не вызывается.

W/AQuery﹕ response:200

Я делаю что-то не так, и как я могу узнать больше?


person Tom Macdonald    schedule 29.11.2013    source источник


Ответы (1)


Во-первых, я установил URL-адрес для свойства обратного вызова, URL-адрес никогда не вызывался, а обратный вызов никогда не запускался. Наконец, я установил URL-адрес прямо на AQuery и работает.

    AjaxCallback<JSONObject> cb = new AjaxCallback<JSONObject>() {

        @Override
        public void callback(String url, JSONObject html, AjaxStatus status) {        
            System.out.println(html);
        }
    };

    AQuery aq = new AQuery(MainActivity88.this);

    cb.header("Authorization", "key=yourkey");
    cb.header("Content-Type", "application/json; charset=utf-8");

    Map<String, Object> params = new HashMap<String, Object>();
    params.put(AQuery.POST_ENTITY, createStringEntity(json));

    cb.params(params);

    aq.ajax("https://yourdomain.com",JSONObject.class, cb);

попробуйте также http://loopj.com/android-async-http/

person Zakari    schedule 22.02.2014