如何在JQuery或JavaScript中使用PHP中的这些数据?

时间:2011-12-27 01:46:50

标签: php javascript jquery ajax

我在php文件上有一个AJAX请求,它返回一些数据,如:

21-12-12 :::访问; 45个;;浏览量; 344 --- 22-10-10 :::访问; 71个;;浏览量; 34 --- 15-01-11 :::访问4个;;浏览量; 30

注意模式^^它就像一个多维数组,但不是数组,只是一个字符串。

我需要一种方法来分隔该字符串,并使用每个日期的访问次数和综合浏览量。

我已经知道如何在JQuery中拆分字符串,但我不知道如何从该字符串中获取特定日期的访问值,例如,获取日期的访问次数15-01-11

任何建议或更好的选择都会很棒。请不要提JSON,我刚刚放弃了。

由于

3 个答案:

答案 0 :(得分:3)

JSON 的替代方案,非常简单,因为您使用的是PHP和jQuery。实际上,其他一切都将是一个巨大的混乱(解析像你想要做的字符串)或更复杂(使用XML而不是JSON)。

在PHP代码中,只需echo json_encode($arrayWithYourData);,AJAX成功回调的响应参数将包含相同的对象。

由于您想要获取特定日期的数据,您可能希望将数据用作数组键 - 然后您可以使用例如response['01-01-01']访问相应的数组元素。

答案 1 :(得分:2)

假设您在名为string的变量中提供了上述字符串,您可以执行以下操作:

var parts = string.split('---'), visits = 0, pageviews = 0;
for(var i=0; i<parts.length; i++) {
  if(parts[i].indexOf('01-01-01')!=-1) { // ex: looking up 01-01-01
    parts = parts[i].split(':::')[1];
    parts = parts.split(';;');
    visits = parts[0].split(';')[1]; // visits for 01-01-01
    pageviews = parts[1].split(';')[1]; // pageviews for 01-01-01
  }
}

答案 2 :(得分:0)

您是否可以控制输出格式?如果是这样,切换到JSON,否则用一些RegEx分割数据。