gpt4 book ai didi

jquery - 使用jquery进行POST,如何正确提供 'data'参数?

转载 作者:行者123 更新时间:2023-12-03 21:45:25 25 4
gpt4 key购买 nike

我想以 POST 方式进行 ajax 调用,它将转到我的 servlet。我想发送参数化数据,如下所示:

var mydata = 'param0=some_text&param1=some_more_text';

我将其作为 jquery ajax() 调用的“数据”参数提供。所以这应该插入到 POST 的正文中,对吗? (我的意思是,没有附加到我的“mysite/save”网址?):

$.ajax({
url: 'mysite/save',
type: 'POST',
data: mydata
});

它似乎工作正常。在我的 servlet 中,我只是转储所有收到的参数,并且我看到它们都很好地完成了:

private void printParams(HttpServletRequest req) {
Enumeration paramNames = req.getParameterNames();
while (paramNames.hasMoreElements()) {
// print each param key/val here.
}
}

另外,我应该在使用之前手动对数据字符串进行 url 编码,对吧?喜欢:

var mydata = 'param0=' + urlencode('hi there!');
mydata += '&param1=' + urlencode('blah blah');
mydata += '%param2=' + urlencode('we get it');

谢谢!

最佳答案

更简单的方法是将 data 属性作为对象提供,如下所示:

$.ajax({
url: 'mysite/save',
type: 'POST',
data: { param0:'hi there!', param1:'blah blah', param2:'we get it' }
});

否则,是的,您应该对其进行编码,因为任何带有 & 的内容都会很快把事情搞砸。不过,在我看来,将其作为对象提供代表了一种更清晰/更简单的方法。

您还可以将其隔开并从其他内联位置检索属性,如下所示:

$.ajax({
url: 'mysite/save',
type: 'POST',
data: {
param0: $('#textbox0').val(),
param1: $('#textbox1').val(),
param2: $('#textbox2').val()
}
});

编辑:如果您好奇 jQuery 如何在内部进行此编码,它使用 $.param() (您也可以直接使用)将对象编码为字符串,称为 here ,和胆量here .

关于jquery - 使用jquery进行POST,如何正确提供 'data'参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3066070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com