我有一个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"