Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 操纵(str.replace)通过自动完成返回的数组数据_Javascript_Replace - Fatal编程技术网

Javascript 操纵(str.replace)通过自动完成返回的数组数据

Javascript 操纵(str.replace)通过自动完成返回的数组数据,javascript,replace,Javascript,Replace,这给我的结果是:[“45054”、“55905”、“42306”] 我想去掉所有[],所以我只有数字和字符 在输入字段中填充ajax请求之前,如何操作该请求中的数据 谢谢:)您可以使用阵列来完成此操作 如果数据是字符串,则必须首先解析字符串以转换数组,然后执行如下连接- $('#groupnamesearch').blur(function () { str = $('#groupnamesearch').val() $.get("injectgroup.php", {

这给我的结果是:[“45054”、“55905”、“42306”]

我想去掉所有[],所以我只有数字和字符

在输入字段中填充ajax请求之前,如何操作该请求中的数据


谢谢:)

您可以使用阵列来完成此操作

如果数据是字符串,则必须首先解析字符串以转换数组,然后执行如下连接-

$('#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,以您想要使用的格式返回它。