1
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);

VPN 接続されたネットワーク上のサーバーに POST 要求を送信するための私の Aquery コードです。次のように 200 応答を受け取ったようですが、コールバックは呼び出されません。

W/AQuery﹕ response:200

私は何か間違ったことをしていますか?どうすれば詳細を確認できますか?

4

1 に答える 1

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/も試してください

于 2014-02-22T23:36:36.600 に答える