Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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 无法正确字符串化数组_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript 无法正确字符串化数组

Javascript 无法正确字符串化数组,javascript,jquery,arrays,Javascript,Jquery,Arrays,我正在尝试序列化一个表单并提交它,但是从昨晚开始我就一直在绞尽脑汁,因为我无法替换字符串中的一些反冲 考虑以下阵列: files = ["1406822377238.jpg", "1406822385416.jpg"] 当我对其值进行字符串化以将其设置为如下输入时: $('#images').val(JSON.stringify(files)); 输入的值变为 value=​"["1406822377238.jpg","1406822385416.jpg"]​` 要移除不需要的支架,请执行

我正在尝试序列化一个表单并提交它,但是从昨晚开始我就一直在绞尽脑汁,因为我无法替换字符串中的一些反冲

考虑以下阵列:

files = ["1406822377238.jpg", "1406822385416.jpg"]
当我对其值进行字符串化以将其设置为如下输入时:

$('#images').val(JSON.stringify(files));
输入的值变为

value=​"["1406822377238.jpg","1406822385416.jpg"]​`
要移除不需要的支架,请执行以下操作:

$('#images').val("" + $('#images').val().slice(1,-1) + "");
 $('#images').val("" + $('#images').val().slice(1,-1) + "");
然后输入值变为

value=​""1406822377238.jpg","1406822385416.jpg""
现在要删除开头和结尾的双引号,请执行以下操作:

$('#images').val("" + $('#images').val().slice(1,-1) + "");
 $('#images').val("" + $('#images').val().slice(1,-1) + "");
现在我的输入值是

value=​"1406822377238.jpg","1406822385416.jpg"
这在控制台中似乎很好,但在我的db中我得到了这个,为什么

"image": [
     "1406823278844.jpg\",\"1406823281193.jpg" 
  ]
我希望这样

"image": [
     "1406823278844.jpg","1406823281193.jpg" 
  ]

我试图删除反斜杠
$('.\35; images').val($('.\35; images').val().replace(/\\\/g')但不起作用。

如果端点需要表单编码数据,则需要使用表单编码数据。传递键的值列表只是指定该键两次:

image=1406822377238.jpg&image=1406822385416.jpg
您需要多个
元素才能在
中执行此操作。假设它们是隐藏的:

var form = $('#my-form');

form.find('input[name=image]').remove();

form.append(files.map(function (file) {
    return $('<input>', { type: 'hidden', name: 'image', value: file });
});
var form=$(“#我的表单”);
form.find('input[name=image]')。remove();
form.append(files.map)(函数(file){
返回$('',{type:'hidden',name:'image',value:file});
});

如果端点是PHP,它将使用名称
image[]
而不是
image

当你必须编写10个黑客来绕过内置语言函数时,通常你是在尝试做一些愚蠢的事情。我没有投反对票,但你怎么解释你为什么要这么做呢?例如,什么是大图为什么不只是
$(“#images”).val(files.join(“,”)
??@fpena06如果您能准确地说出输入字段的值,那会很有帮助。因此,您的端点希望图像是单个(逗号分隔的)字符串?太好了!这正是我所需要的。