【问题标题】:How to make ajax GET with parameters in http body如何使用http正文中的参数制作ajax GET
【发布时间】:2013-04-04 11:33:54
【问题描述】:
$.get ("/asd", {
    asd: "foo"
}, function (res){
    alert ("ok");
});

这会发送查询字符串中的参数:

/asd?asd=foo

但我只需要使用http body发送json对象:

{ "asd": "foo" }

【问题讨论】:

  • 正文将在 POST 请求中。尝试使用 jQuery.post()。但正文将是 urlencoded 字符串。
  • 但是我需要发送一个 GET 请求。
  • 如果这很重要,您可以创建服务器端部分,该部分将接受您的 GET 请求,打开到目标站点的套接字并将 GET 请求和来自 GET 参数的转换数据放在正文中。
  • 好吧,似乎用 get 发送一个 http 正文不是要走的路。我将其更改为发布。

标签: javascript jquery


【解决方案1】:

如果你想发送一个 JSON 对象,那么你真的应该使用 POST。但是,如果你绝对需要使用 GET,你可以这样做:

$.get ("/asd", { json: JSON.stringify({asd: "foo"}) }, function (res){
    alert ("ok");
});

这会将 JSON 对象转换为字符串并将其传递给 json GET 参数(请注意,JSON.stringify 不适用于旧版浏览器)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-22
    • 2018-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2010-10-09
    相关资源
    最近更新 更多