gpt4 book ai didi

javascript - 阻止 jQuery.ajax() 传递以 "_json"作为主参数名称的参数?

转载 作者:行者123 更新时间:2023-12-02 19:46:34 25 4
gpt4 key购买 nike

假设我们使用 jQuery.ajax() 来 POST 数据,并带有两个参数:game_idplayer_id

当我们使用 jQuery.ajax() 时,服务器收到这样的参数:{"_json"=>"game_id=4f6a593a8cb45b16c0000491&player_id=4f68ed4b8cb45b16c0000111"}

我们希望服务器接收这样的参数:

{"game_id=4f6a593a8cb45b16c0000491&player_id=4f68ed4b8cb45b16c0000111"}

本质上,ajax() 使“_json”成为所有参数的主 key 。有没有办法防止这种情况,或者我们做错了什么?

下面是一些具体代码:

    $.ajax({
type: 'POST',
url: UPDATE_GAME_URL,
data: { "game_id" : game_id,
"player_id" : get_player_id(),
"turn_set" : JSON.stringify(turn_set) },
contentType: 'application/json; charset=utf-8',
dataType: 'json'
});

谢谢!

最佳答案

jQuery 不包含任何以 json_ 为字段添加前缀的代码,因此问题出在其他地方。

但是,您需要删除 contentType: 'application/json; charset=utf-8' 以确保服务器正确解析 POST 数据 - 毕竟您没有发布 JSON。
如果您的服务器确实期望一个JSON有效负载(根据您期望接收的字符串,但它没有!),则必须使用data:JSON.stringify({...} ) 以确保您实际发送的是 JSON 字符串,而不是表单编码的键/值对。

关于javascript - 阻止 jQuery.ajax() 传递以 "_json"作为主参数名称的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9814035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com