我想以json的形式从jsp向servlet发送名称和密码,但这不起作用。 可能是什么问题?
这是我的片段。
function submitForm(thisObj, thisEvent) {
var name = $('#name').val();
var password = $('#password').val();
var myData = {
"mydata": {
"name": name,
"password": password
}
};
$.ajax({
type: "GET",
url: "/Aasd",
data: {
jsonData: JSON.stringify(myData)
},
dataType: "json"
});
return false;
}

<script src=”http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js”>
</script>
<body>
<h2>Login</h2>
<form enctype='application/json'>
Name:<input type="text" value="name" id="name"><br> Password:
<input type="password" id="password"><br>
<input type="submit" name="submit" onclick=" return submitForm(this,event)">
</form>
</body>
&#13;
答案 0 :(得分:0)
问题是你正在使用GET方法。您需要使用POST将数据“发布”到服务器。
POST用于发送数据,GET用于检索数据
GET请求只应用于检索数据
https://www.w3schools.com/tags/ref_httpmethods.asp
此外,就安全性而言,通过GET参数发送数据是一种不好的做法(特别是当使用ajax登录时,已经不是很安全)。
$.ajax({
type:"POST",
url:"/Aasd",
data: myData,
dataType:"json"
});
在您的servlet中,您将能够使用doPost()
方法检索请求。
答案 1 :(得分:0)
将请求类型从GET更正为POST。
$。AJAX({ 类型:的 “POST”强>
在servlet方面,从doPost()方法可以调用doGet()方法来使用你可能为GET类型调用配置的相同实现。
答案 2 :(得分:-2)
$.ajax({
type:"GET",
url:"/Aasd",
data:{jsonData:JSON.stringify(myData)},
dataType:"json"
});
return false;
更改
$.ajax({
type:"POST",
url:"/Aasd",
data:{jsonData:JSON.stringify(myData)},
dataType:"json"
});
return false;