0

senchatouch2 のクエリ文字列としてjson 配列または通常の配列を送信する必要がありますか?

4

2 に答える 2

0

いずれにせよ、URL で文字列のみを送信できるため、JSON がある場合はExt.JSON.encodeを使用して文字列にし、JS 配列がある場合はtoStringまたはjoinメソッドを使用して配列を平坦化し、URL に追加します。

あなたはクエリ文字列と言ったので、POSTリクエストをしていないと思います。

[編集] コメントを見ると、作成のためにサービスにデータを送信したいようですが、その場合はデータをクエリ文字列として送信するのではなく、メッセージ本文で送信する必要があります。以下は、JSON データをサービスに送信する例です。

var obj = new Object();
obj.loginEntry  = new Object();
obj.loginEntry.userid = username;
obj.loginEntry.password = password;
var data = Ext.JSON.encode(obj);
Ext.Ajax.request({
        url : 'http://myserver:port/service/entity',
        method : "POST",
        headers: {
            /* Important because default is 
             * Content-Type:application/x-www-form-urlencoded; charset=UTF-8 
             * which is not supported by service
             */
            'Content-Type': 'application/json'
        },
        params : data,
        success : function(response) {
        },
        failure : function(response) {
        }
    }
);

[/編集]

于 2013-04-12T07:33:27.430 に答える
0

Sencha Touch2 では POST メソッドを使用してパラメーターを送信しますが、Ajax Request では jsonData を使用します。

Ext.Ajax.request({ url:'', method:'POST', disableCaching:false, headers: { 'Accept':'application/json', 'Content-Type':'application/json' }, jsonData : { FirstName:fname //{"FirstName":["Sam","paul"]} }, 成功: function(response) { console.log(response.responseText); }, 失敗: function(response) { console.ログ (応答.応答テキスト); }, });

于 2013-04-20T04:42:30.330 に答える