我已经对java servlet进行了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,INCOMING,30,INETCALL,7,ISD,55,LOCAL,44,STD]
现在根据我的需要,我希望这个值在变量中。
S1 = 239,30,7,55,44 和抽搐= INCOMING,INETCALL,ISD,LOCAL,STD
任何帮助都将受到高度赞赏..
答案 0 :(得分:0)
var parts = string.split(",")
for (i = 0, l = parts.length; i < l; i += 2) {
$alert(parts[i]);
}
试
答案 1 :(得分: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" } ];
答案 2 :(得分:0)
假设您的data
变量是一个字符串,即:
"[239, INCOMING, 30, INETCALL, 7, ISD, 55, LOCAL, 44, STD]"
...然后,实现所需结果的一种方法是使用[
然后]
删除第一个和最后一个字符(data.slice(1,-1)
和.split()
) ", "
给你一个这样的数组:
["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(",");
我不明白为什么你想要的结果是包含逗号分隔字符串值的变量。显然我不知道你想要实现什么,但对我来说,如果s1
和tics
是将这些值作为单独元素保存的数组更有意义(在这种情况下,您显然会省略我展示的代码末尾的.join(",")
语句。但是,如果您可以更新服务器端进程以返回JSON格式,则可以返回以下内容:
{
"s1" : [239, 30, 7, 55, 44],
"tics" : ["INCOMING", "INETCALL", "ISD", "LOCAL", "STD"]
}
...然后jQuery将为您解析JSON,让您将其作为具有已设置为数组的属性的对象来处理。