0

我的问题是:我通过发布请求获得了 Javascript 中的变量“数据”,如下所示:

var data = name1 text1 name2 text2 name3 text3;

如何将每个数据元素划分为这样的变量:

var group1 =  name1 - text1;
var group2 =  name2 - text2;
var group3 =  name3 - text3;

然后我决定在php中放置一个分隔符,每个组(变量)中的字符“-”会形成,然后处理javascript函数“split()”这个字符串。问题是在文本中也可能有“-”字符和任何其他字符,我如何在不使用 JSON 的情况下进行示例?我控制服务器端(PHP)或客户端(Javascript)。

4

1 回答 1

0

我将对您的 php 代码的外观做一个广泛的假设,因为您很方便地忽略了它。我想它看起来像这样(在我的脑海中,可能实际上不起作用):

$response = '';
mysql_query('select name, text from mytable');
while ($row = mysql_fetch_assoc()) {
    $response = $row['name'] . ' ' . $row['text'] . ' ' .$response;
}
echo $response;

你应该用这样的对象来响应:

$response = array();
mysql_query('select name, text from mytable');
while ($row = mysql_fetch_assoc()) {
    $response[$row['name']] = $row['text'];
}
echo json_encode($response);

然后,在您的 javascript 中,它将如下所示:

var data = {"name1": "text1", "name2": "text2", "name3": "text3"};

你可以像这样创建你的组:

var groups = [];
for (var name in data) {
    groups.push(name + " - " + data[name]);
}

创建您想要的那些组的数组。

于 2013-09-20T00:34:11.487 回答