通过邮寄请求收到分隔符数据

时间:2013-07-21 21:48:16

标签: php javascript

我的问题是:我在Javascript中通过一个帖子请求变量“data”,如下所示:

var data = name1 text1 name2 text2 name3 text3;

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

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

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

1 个答案:

答案 0 :(得分: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]);
}

创建所需组的数组。