【问题标题】:Attach requestbody to jQuery ajax将 requestbody 附加到 jQuery ajax
【发布时间】:2013-05-25 15:03:55
【问题描述】:

我正在尝试在使用 jQuery ajax 进行发送时将数据附加到我的请求正文。

如果我尝试使用扩展 RESTCLient 是 firefox 或 chrome,它工作正常,这意味着我在服务器端的方法工作正常。

这就是为什么我很确定它是我正在进行的 ajax 调用

$.ajax({
        url: 'lingosnacks/delete/'+ id,
        type: 'POST',
        data: $('#email').val() + $('#password').val()
        dataType: "json",
        success: function(data) {
            console.log("FILL| Sucess| ");
            console.log("FILL| Sucess| Data| " + data);
            fill(data);
        }
    });

【问题讨论】:

  • 打印到控制台的任何内容?

标签: ajax jquery http-post httprequest


【解决方案1】:

数据行错误,应该很像一个JSON字符串,像这样:

data: {email: $('#email').val(), password: $('#password').val()},

【讨论】:

  • 这是多余的,因为 jQuery 只是将其转换为查询字符串。
【解决方案2】:

您需要以这种格式发送数据:

email=blah%40blah.com&password=pass123

你可以通过 jQuery 使用 $('form').serialize() 来做到这一点

此外,您在 Ajax 调用中的 data 字符串之后缺少 ,

【讨论】:

    【解决方案3】:

    实际上jQuery Ajax 方法中的数据参数是用来发送url 参数的。 您可以通过将 then 附加到 url 来发送相同的内容,但为了使代码更具可读性和组织性,我更喜欢使用 data 变量。 所以你的数据内容应该是这样的:

    data : "email="+$('#email').val()+"&password="+$('#password').val();
    

    我不太确定发送像 json 对象这样的参数是否有效,因为我从未使用过它。

    【讨论】:

      猜你喜欢
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      • 2021-04-03
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-28
      相关资源
      最近更新 更多