首页 > 解决方案 > 删除多余的空格,修剪 ajax jquery

问题描述

通过 ajax 发送后从开头和结尾删除多余的空格

$(function(){
    $('#form').submit(function(e){
        e.preventDefault();
        var data = $(this).serialize();
        data = jQuery.trim(data); (DONT WORK)
        $.ajax({
            url: "index.php",
            data: data,
            type: "POST",
            dataType: "xml"
        });

标签: javascriptjqueryajax

解决方案


serialize()返回一个 URL 编码的字符串,并从Jquery.trim整个字符串中删除不会对值进行任何更改的空格。

使用serializeArray()返回数组并通过迭代对值进行更新的方法。

var data = $(this).serializeArray();    
data.forEach(o => o.value = jQuery.trim(o.value)); // or data.forEach(function(o){ o.value = jQuery.trim(o.value) });

对于制作单个空间,您可以使用String#replace方法。

var data = $(this).serializeArray();    
data.forEach(o => o.value = o.value.trim().replace(/\s+/g, ' ')); 

推荐阅读