Javascript 操纵(str.replace)通过自动完成返回的数组数据
这给我的结果是:[“45054”、“55905”、“42306”] 我想去掉所有[],所以我只有数字和字符 在输入字段中填充ajax请求之前,如何操作该请求中的数据Javascript 操纵(str.replace)通过自动完成返回的数组数据,javascript,replace,Javascript,Replace,这给我的结果是:[“45054”、“55905”、“42306”] 我想去掉所有[],所以我只有数字和字符 在输入字段中填充ajax请求之前,如何操作该请求中的数据 谢谢:)您可以使用阵列来完成此操作 如果数据是字符串,则必须首先解析字符串以转换数组,然后执行如下连接- $('#groupnamesearch').blur(function () { str = $('#groupnamesearch').val() $.get("injectgroup.php", {
谢谢:)您可以使用阵列来完成此操作 如果数据是字符串,则必须首先解析字符串以转换数组,然后执行如下连接-
$('#groupnamesearch').blur(function () {
str = $('#groupnamesearch').val()
$.get("injectgroup.php", {
name: str
}, function (data) {
//here i guess str.replace data
$('#aspecforgroup').val(data);
});
});
如果返回到
数据中的结果是一个实际的字符串(我假设它一定是方括号显示在“aspecforgroup”字段中),则可以按如下方式删除这些字符:
var newData = JSON.parse(data).join();
或者,您可以告诉jQuery(即您正在使用的jQuery?)将响应视为JSON,在这种情况下,当它在数据中结束时,应该自动将其解析为数组,然后您可以使用数组将其转换为字符串:
data = data.replace(/[\[\]"]/g, "");
$.get("injectgroup.php", {
name: str
}, function (data) {
$('#aspecforgroup').val(data.join(","));
}, "json");
.join()
的参数是用于连接各个元素的字符串。如果不使用该参数,默认情况下它将是一个逗号,但您可能希望使用逗号加空格:。如果数据
是一个字符串,则使用join(“,”):
data = data.replace(/[\[\]"]/g, "");
$.get("injectgroup.php", {
name: str
}, function (data) {
$('#aspecforgroup').val(data.join(","));
}, "json");
如果数据
已经是一个数组:
data = '["45054","55905","42306"]';
var output = JSON.parse(data).join(', ');
alert(output);
两者都输出以下内容:
data = ["45054","55905","42306"];
var output = data.join(', ');
alert(output);
因为它是序列化的,所以我应该在get请求之前设置json格式,我不知道怎么做,或者在PHP中设置content-type头,但我以前从未这样做过,然后它会自动留下我想要替换的字符。我想这会更专业,不是吗?但是怎么做呢?:尽管如此,因为我是一个彻头彻尾的noob在JS上,这仍然没有帮助,因为var data=data.join();不好:)@Flatline-使用其他变量名来保存您的连接,var newData=data.join();如果您的数据是一个字符串数组,就像您在问题中提到的那样,这肯定会起作用。john谢谢,但是chrome控制台错误:uncaughtTypeError:Object[“45054”,“55905”42306“]没有方法“join”cont-character.php:133@Flatline-编辑了我的答案-我猜您返回的数据是字符串-不是数组。您的结果是字符串吗?[\“1\”、\“2\”、\“3\”]”还是实际数组?如果您的数字是实数,则在发送结果时不必引用它们。(即:没有一个像00001一样开头有很多零)不客气。对不起,我忘了在.replace()中解释正则表达式
我回答的一部分。如果您不熟悉regex,我建议您开始,或者您可以在Google上找到任意数量的regex教程。请注意,如果您的JS将Ajax响应视为普通字符串,那么您最好更新PHP,以您想要使用的格式返回它。