0

私は、データを取得し、データに成功した場合に保存している場所からJavaサーブレットへのajax呼び出しを行いました..これが私のコードです...

            var s1="";
            var ticks ="";
            $('#view').click(function(evt){
                alert('hi');
                evt.preventDefault(); 
                $.ajax({
                        url:'getdata',
                        type: 'GET',
                        success: function (data) {
                              console.log(data);
                              alert(data);
                        }

                    });

            });

成功に関するデータの値は次のとおりです。

[239、着信、30、INETCALL、7、ISD、55、ローカル、44、STD]

今、私の必要に応じて、この値を変数に入れたい..

s1=239,30,7,55,44 およびtics=INCOMING,INETCALL,ISD,LOCAL,STD

どんな助けでも大歓迎です..

4

3 に答える 3

0

あなたはそれを通り抜けることができます...

<script src="/include/jquery.js"></script>
<script>

var data = [239, "INCOMING", 30, "INETCALL", 7, "ISD", 55, "LOCAL", 44, "STD"]; 

var s1   = [];
var tics = [];

$.each(data,function(i,val)
{ 
    if (i % 2 == 0)
    {
        s1.push(val); 
    }
    else
    {
        tics.push(val); 
    }
});

console.log('s1'); 
console.log(s1);  

console.log('----------');  

console.log('tics'); 
console.log(tics);  

</script>

最初のコメントは正しいですが、これを受け取る方法をより一般的な JSON 形式に変更できますか?

var data = [ "s1" : { 239, 30, 7, 55, 44 }, "tics" : { "incoming", "isd", "local", "std" } ]; 
于 2013-10-26T08:25:32.243 に答える
0

data変数が文字列であると仮定すると、次のようになります。

"[239, INCOMING, 30, INETCALL, 7, ISD, 55, LOCAL, 44, STD]"

...次に、目的の結果を得る 1 つの方法は、最初と最後の文字 ( [and ]) を削除しdata.slice(1,-1)、次に.split()on", "を使用して、次のような配列を作成することです。

["239", "INCOMING", "30", "INETCALL", "7", "ISD", "55", "LOCAL", "44", "STD"]

次に、すべての項目を異なる配列に入れ、.join()それらの配列を要求した形式の文字列にします。

var a = data.slice(1,-1).split(", "),
    s1 = [],
    tics = [],
    i = 0;
while (i < a.length) {
    s1.push(a[i++]);
    tics.push(a[i++]);
}
s1 = s1.join(",");
tics = tics.join(",");

ただし、目的の結果が値をコンマ区切りの文字列として含む変数である理由がわかりません。明らかに、あなたが何を達成しようとしているのかわかりませんが、それらの値を個別の要素として保持する配列である場合は、より理にかなってs1ticsます (その場合、明らかに.join(",")、私が示したコードの末尾からステートメントを省略します) )。ただし、サーバー側のプロセスを更新して JSON 形式を返すことができる場合は、次のようなものを返すことができます。

{
    "s1" : [239, 30, 7, 55, 44],
    "tics" : ["INCOMING", "INETCALL", "ISD", "LOCAL", "STD"]
}

...そして、jQuery は JSON を解析して、プロパティが既に配列として設定されているオブジェクトとして処理できるようにします。

于 2013-10-26T08:26:23.983 に答える
0
var parts = string.split(",")

for (i = 0, l = parts.length; i < l; i += 2) {
    $alert(parts[i]);
}

試す

于 2013-10-26T08:23:49.880 に答える