javascript - 如何通过prototype.js发送body和queryparam中的数据?

标签 javascript ajax prototypejs javascript-framework

我的服务(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_____\n\n";
        txt += "ERROR DESCRIPTION : " + err.message + "\n\n";
        txt +=" Click OK to continue."; 
        alert(txt);
}

我不知道如何通过 body 以及 Prototype.js 中的查询参数传递值。非常感谢任何帮助。

问候, 阿伦拉杰

最佳答案

当您的请求方法为post时,您在请求中设置的任何参数都将在请求正文中发送。还可以在您发送到的 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 等效项覆盖,因此您不必分别询问两组表单数据。

关于javascript - 如何通过prototype.js发送body和queryparam中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21887212/

相关文章:

javascript - AJAX 表单 Post PreventDefault 不起作用

javascript - Django 调试工具栏 - Prototypejs 版本

javascript - 有没有办法删除脚本自动完成对象?

javascript - 使用history.js,以便我可以在网站上进行深层链接

javascript - 滚动进入 - 但在其他页面

javascript - Google ComboChart 中当前数据的平均线

javascript - 如何防止 AJAX 调用中的 JSONP 解析?

javascript - 获取数组中所有选中的复选框

javascript - 组件是 HTML5 的属性还是 prototype.js 的东西?

javascript - 单击 JavaScript 更改按钮颜色