gpt4 book ai didi

jquery - Codeception - POST 原始 JSON 字符串

转载 作者:行者123 更新时间:2023-12-03 22:31:12 24 4
gpt4 key购买 nike

我使用 jQuery 发送以下请求

var url = 'http://site.local/api/package/create';
var data = {
"command": "package",
"commandParameters": {
"options": [
{
"a": true
}
],
"parameters": {
"node_id": 1111,
"node_name": "Node Name"
}
}
}
$.ajax({
url: url,
type: "POST",
data: JSON.stringify(data),
contentType: "application/json",
success: function (a, b, c) {
// Do something with response
}
});

还使用 Postman(Chrome 插件)做类似的事情

POST
Content-Type: application/json
Payload:
{
"command": "package",
"commandParameters": {
"options": [
{
"a": true
}
],
"parameters": {
"node_id": 1111,
"node_name": "Node Name"
}
}
}

我的目的是将原始 JSON 字符串发送到我的服务器,而不是让 Jquery 将其转换为发布数据。我如何在Codeception中执行相同的操作,我只是在文档中看不到它,我只看到以下内容..

$I->sendAjaxPostRequest('/updateSettings', array('notifications' => true));

所以我想我想在 Codeception 中发出 POST 请求,同时在请求正文中附加 JSON?

最佳答案

codeception/src/Codeception/Module/REST.php 中的 encodeApplicationJson 函数检查 header “Content-Type”和值“application/json”是否存在。

如果设置了它,它会返回 json_encode($parameters),这是一个我想要的字符串,所以我最终会做这样的事情......

    $I->haveHttpHeader('Content-Type', 'application/json');
$I->sendPOST('api/package/create', [
'command' => 'package',
'commandParameters' => [
'options' => [],
'arguments' => []
]
]);
$I->canSeeResponseCodeIs(200);
$I->seeResponseIsJson();

有关 sendpostsendajaxpostrequest 之间差异的一些信息

http://phptest.club/t/what-is-the-difference-between-sendpost-and-sendajaxpostrequest/212#post_2

关于jquery - Codeception - POST 原始 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26664947/

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