如何在 jQuery Ajax 中设置原始主体?

发布于 2025-01-01 07:01:27 字数 442 浏览 0 评论 0原文

我需要发送一个 JSON 字符串作为 POST 请求的正文,而不是发送键/值对列表。
我使用 jQuery 的 $.ajax 函数发出此 POST 请求。
我该如何正确设置?

当我说 JSON 字符串时,我的意思是: {action:'x',params:['a','b','c']}

这就是我在服务器上的 PHP 中使用此 JSON 字符串的方式:

var_dump(json_decode(file_get_contents('php://input')));

结果:

stdClass Object
    action = x
    params = Array
        (
    0 = a
    1 = b
    2 = c
        )

Instead of sending a list of key/value pairs, I need to send a JSON string as the body of the POST request.
I make this POST request using jQuery's $.ajax function.
How do I set it correctly?

When I say JSON string, I mean something like: {action:'x',params:['a','b','c']} .

This is how I would use this JSON string in PHP on the server:

var_dump(json_decode(file_get_contents('php://input')));

Results in:

stdClass Object
    action = x
    params = Array
        (
    0 = a
    1 = b
    2 = c
        )

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凶凌 2025-01-08 07:01:27

尝试:

$.ajax('url',{
    'data': JSON.stringify(yourJSONObject), //{action:'x',params:['a','b','c']}
    'type': 'POST',
    'processData': false,
    'contentType': 'application/json' //typically 'application/x-www-form-urlencoded', but the service you are calling may expect 'text/json'... check with the service to see what they expect as content-type in the HTTP header.
});

Try:

$.ajax('url',{
    'data': JSON.stringify(yourJSONObject), //{action:'x',params:['a','b','c']}
    'type': 'POST',
    'processData': false,
    'contentType': 'application/json' //typically 'application/x-www-form-urlencoded', but the service you are calling may expect 'text/json'... check with the service to see what they expect as content-type in the HTTP header.
});
太阳公公是暖光 2025-01-08 07:01:27

如果您不指定密钥,我认为它将作为没有密钥的正文发布,例如

$.ajax({
data:JSON.stringify({action:'x',params:['a','b','c']})
});

if you dont specify the key i think it will post as the body without the key like

$.ajax({
data:JSON.stringify({action:'x',params:['a','b','c']})
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文