Javascript 请求后正文不发送

Javascript 请求后正文不发送,javascript,post,prototypejs,Javascript,Post,Prototypejs,我正在尝试创建一个POST请求,不幸的是,POST的主体似乎从未被发送 下面是我正在使用的代码。当用户单击链接而不是表单“提交”按钮时,将调用该代码。它运行时没有错误,调用被调用的servlet,但正如我前面提到的,文章的主体似乎从未被发送 我可以验证请求主体是否从未发送,因为我有权访问被调用的servlet 我试着用“参数”来代替“请求主体”。我还试着用一个参数字符串(x=a?y=b)。我还验证了“ckULK”是否包含有效值 有什么想法吗 new Ajax.Request(sURL, {

我正在尝试创建一个POST请求,不幸的是,POST的主体似乎从未被发送

下面是我正在使用的代码。当用户单击链接而不是表单“提交”按钮时,将调用该代码。它运行时没有错误,调用被调用的servlet,但正如我前面提到的,文章的主体似乎从未被发送

我可以验证请求主体是否从未发送,因为我有权访问被调用的servlet

我试着用“参数”来代替“请求主体”。我还试着用一个参数字符串(x=a?y=b)。我还验证了“ckULK”是否包含有效值

有什么想法吗

new Ajax.Request(sURL,
{
    method: 'POST'
    , contentType: "text/x-json"
    , requestBody: {ulk:ckULK}
    , onFailure:
        function(transport)
        {
            vJSONResp = transport.responseText;
            var JSON = eval( "(" + vJSONResp + ")" );
            updateStatus(JSON.code + ": " + JSON.message);
        } // End onFailure
    , onSuccess: 
        function(transport) 
        {
            if (200 == transport.status)
            {
                vJSONResp = transport.responseText;
            }
            else
            {
                log.value += "\n" + transport.status;
            }
         } // End onSuccess
}); // End Ajax.request

在这种情况下,Firebug和Firefox非常有用。如果没有Firebug,我建议您安装它,并检查正在发送的请求

您还必须坚持使用
参数
,而不是
requestBody

这:


肯定能用。

在这种情况下,Firebug和Firefox非常有用。如果没有Firebug,我建议您安装它,并检查正在发送的请求

您还必须坚持使用
参数
,而不是
requestBody

这:


应该可以正常工作。

只需将数据作为参数传递给Ajax请求构造函数:

new Ajax.Request(url, {
  method: 'POST', 
  parameters: {
    hello: "world", test: "test"
  },
  onSuccess: function(transport){
    var data = transport.responseText.evalJSON();
  }
});

只需将数据作为参数传递给Ajax请求构造函数:

new Ajax.Request(url, {
  method: 'POST', 
  parameters: {
    hello: "world", test: "test"
  },
  onSuccess: function(transport){
    var data = transport.responseText.evalJSON();
  }
});

当我遇到这个问题时,解决方案是从
Ajax.Request
选项中删除
contentType

In by
contentType
未在
Ajax.Request
选项中定义

由于未知原因,
参数
中定义的参数没有发送(FF没有显示它们,我的服务器看到了空的帖子正文)


我的一位同事建议使用
postBody
而不是
parameters
,但我没有尝试。

当我遇到这个问题时,解决方法是从
Ajax.Request
选项中删除
contentType

In by
contentType
未在
Ajax.Request
选项中定义

由于未知原因,
参数
中定义的参数没有发送(FF没有显示它们,我的服务器看到了空的帖子正文)


我的一位同事建议使用
postBody
而不是
parameters
,但我没有尝试。

当您设置一个常规表单帖子时,没有涉及AJAX,这在相同的情况下有效吗?我这样问是因为如果你使用IE,有一个不明显的特点需要注意。当你建立一个常规的表单帖子时,没有涉及AJAX,这在相同的情况下有效吗?我这样问是因为如果你使用IE,有一个不明显的特点需要注意。