我想把一个ajax调用作为POST,它将转到我的servlet.我想发送参数化数据,如下所示:
var mydata = 'param0=some_text¶m1=some_more_text';
Run Code Online (Sandbox Code Playgroud)
我提供这个作为我的jquery ajax()调用的'data'参数.所以这应该插在POST的正文中,对吧?(我的意思是,没有附加到我的'mysite/save'URL?):
$.ajax({
url: 'mysite/save',
type: 'POST',
data: mydata
});
Run Code Online (Sandbox Code Playgroud)
它似乎工作正常.在我的servlet中,我只是转储所有收到的参数,我看到它们都很顺利:
private void printParams(HttpServletRequest req) {
Enumeration paramNames = req.getParameterNames();
while (paramNames.hasMoreElements()) {
// print each param key/val here.
}
}
Run Code Online (Sandbox Code Playgroud)
另外,我应该在使用前手动编码我的数据字符串,对吧?喜欢:
var mydata = 'param0=' + urlencode('hi there!');
mydata += '¶m1=' + urlencode('blah blah');
mydata += '%param2=' + urlencode('we get it');
Run Code Online (Sandbox Code Playgroud)
谢谢!
我对 ajax 和 JSON 的了解有限,但我知道在 ajax 调用中使用 JSON.stringify 有时会很有用。我下面的 ajax 调用工作正常,而下面的 stringify 方法则不起作用。我想知道我是否正确使用 .stringify,如果没有,我什么时候应该在 ajax 中使用 JSON.stringify(如果有的话)。我将 MVS 与模型、视图和控制器一起使用。
这就是我通常进行 ajax 调用的方式,以及构建 url 部分的方式。
function AddEquipment(id, name, type, description, email) {
$.ajax({
url: '@Url.Action("AddEquipment", "Home")' + '/?id=' + id +
"&name=" + name + "&type=" + type + "&description=" +
description + "&email=" + email,
type: "GET",
cache: false,
datatype: "JSON",
success: function(result) {
//do stuff
}
});
}
Run Code Online (Sandbox Code Playgroud)
下面我尝试使用 JSON.stringify 而不是手动构建整个 url,但它不起作用。
function AddEquipment(id, name, type, description, email) { …Run Code Online (Sandbox Code Playgroud)