我的问题是:我在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)。
答案 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]);
}
创建所需组的数组。