所以这是我的ajax帖子:
$("#defaultMigration").click(function(){
$.ajax({
type: "POST",
url: "/Svn2GitService/services/svn2git/defaultMigration",
contentType: 'application/json',
data: JSON.stringify({ svnUrl : $("#svnUrl").val(),
gitUrl : $("#gitUrl").val(),
username : $("#username").val(),
password : $("#password").val()
}),
dataType: 'text',
success: function(response){
alert("Success!" + response);
},
failure: function(response) {
alert("Error! " + response);
}
});
});
当我在我的服务中执行System.out.println
时,我发现svnUrl
param是唯一接收任何内容的param。实际上,它正在接收上述所有值。即svn url,git url,用户名和密码。
为什么会这样?
答案 0 :(得分:0)
出于好奇,请尝试以下方法。如果它有效,我将解释之后发生的事情。
我使用jQuery's $.param()函数序列化data
对象。
<强> $。PARAM()强>
创建数组,普通对象或a的序列化表示 jQuery对象适用于URL查询字符串或Ajax请求。
var data = {
svnUrl : $("#svnUrl").val(),
gitUrl : $("#gitUrl").val(),
username : $("#username").val(),
password : $("#password").val()
}
data = $.param(data);
$.ajax({
type: "POST",
url: "/Svn2GitService/services/svn2git/defaultMigration",
contentType: 'application/json',
data: JSON.stringify(data),
dataType: 'text',
success: function(response){
alert("Success!" + response);
},
failure: function(response) {
alert("Error! " + response);
}
});