我正在C++中实现一个HTTP,并通过jQuery向其发送Ajax请求。
我在我的页面上有一个表单,我使用以下代码提交:
$('#create-event form').submit(function(e) {
var postData = $(this).serializeArray();
var formURL = $(this).attr('action');
$.ajax({
url : formURL,
type: 'POST',
data : postData,
contentType: 'text/plain'
});
e.preventDefault();
});当我在我的C++中接收到这个请求时,查询参数的最后~10个字符都是乱七八糟的,就好像编码错误一样。问题是,我有许多这种类型的表单,在添加contentType: 'text/plain'字段之前,其他表单也发生了同样的混淆。现在,此表单是唯一出现这种编码问题的表单。
是否还有其他类型的编码字段可以设置以防止这种混淆?我已经尝试了我能找到的一切,但没有任何帮助。
任何帮助都是非常感谢的,我已经花了好几个小时在这上面了。
编辑:我现在转换为unix时间戳客户端,没有混淆,它一定是与URL编码的空间和冒号有关。
发布于 2014-12-08 02:37:18
若要创建查询字符串,应尝试使用$(this).serialize()而不是序列化数组。
$('#create-event form').submit(function(e) {
var postData = $(this).serialize();
var formURL = $(this).attr('action');
$.ajax({
url : formURL,
type: 'POST',
data : postData,
contentType: 'text/plain'
});
e.preventDefault();
});https://stackoverflow.com/questions/27350518
复制相似问题