如何使用空格在表单输入's用户输入值与jQuery . serializearray和PHP


How can I use spaces in a form input's user entered value with jQuery .serializeArray and PHP?

我有一个form元素,我使用这个(缩写)

var dataArray = $(this).serializeArray(),
    dataObj = {};
$(dataArray).each(function(i, field){
  dataObj[field.name] = field.value;
});

然后我将该数据与Ajax一起使用,将其发送到PHP页面(缩写)。

url: '/api/controller/name/' + dataObj['guys-name']

如果我输入这个(减去引号),

懒惰的棕色狐狸

它是这样提交的,我可以理解,因为它有空格%20,

The%20lazy%20brown%20fox

但是当我使用print_r()时,我得到这个,

Array
(
    [0] => thelazybrownfox
)

我需要这个,所以有人可以在一行中输入一个名字,比如smith john。我可以创建两个表单输入,但这不是我想要做的。

URL字符串浏览器转换使用Punycode。正确的方式正确的方法是使用GET或POST参数。

$.post( "/api/controller/name/", { name: dataObj['guys-name'] } );

或者从Punycode解码字符串"The%20lazy%20brown%20fox"