My Service (RESTful JAX-RS) 正在接收如下值。
public Response methodName(String content,
@QueryParam("valueONE") String one,
@QueryParam("valueTWO") String two,
@QueryParam("valueTHREE") String three)
从 Ajax 调用中,我必须将值传递给该服务。对于我的情况,我已经尝试了如下方法。这对我不起作用。
try {
new Ajax.Request(url, {
method : 'post',
postBody : {
Object.toJSON(content),
valueONE : one,
valueTWO : two,
valueTHREE : three,
},
onSuccess : function(response) {
alert('Success Response' + response.responseText);
},
onFailure : function(response) {
alert('Request has not been hit to the server.'
+ response.responseText);
}
});
} catch (err) {txt = "_____ERROR_____nn";
txt += "ERROR DESCRIPTION : " + err.message + "nn";
txt +=" Click OK to continue.";
alert(txt);
}
我不知道如何通过 body 和 Prototype.js 中的查询参数传递值。任何帮助都非常感谢。
问候阿伦拉吉
当您的请求方法发布时,您在请求中设置的任何参数都将在请求正文中发送。也可以在您发送到的 URL 中手动构建一些查询字符串参数,尽管这严格来说不是发送 POST 的正确方法(即其中包含 sidecar GET)。
new Ajax.Request('path/to/server', {
parameters: {
foo: 'One',
bar: 'Two',
baz: 'Three'
}
});
这将导致一组 POST 变量 [foo, bar, baz] 被填充到请求的正文中。
new Ajax.Request('path/to/server?boo=Four&blarg=Five', {
parameters: {
foo: 'One',
bar: 'Two',
baz: 'Three'
}
});
根据服务器的松弛程度,这可能会导致相同的 POST 以及一组由查询字符串填充的 GET 变量 [boo, blarg]。在 PHP 服务器上,这些被整理到 REQUEST 全局对象中,同名的 GET 变量被它们的 POST 等效项覆盖,因此您不必分别查询两组表单数据。