Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

[Lib/InnerBrowser] Send raw content in post body

未關閉
#61 4 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
2/5
預估耗時
1-3 小時
新手友好度
48/100
Issue 類型
功能
描述清晰度
基本清楚
活躍度
停滯
技術堆疊
php
領域
api

研究方向

從 src/Codeception/Lib/InnerBrowser.php 第 189 行附近開始,檢查 sendAjaxPostRequest 如何驗證及格式化其第二個參數。將文件中說明的陣列行為與原始 JSON 和純文字範例進行比較;當呼叫方可以傳送原始內容,而不會被 http_build_query 轉換時,即視為完成。

由索引模型根據 Issue 內容生成。

描述

What are you trying to achieve?

I am trying to call sendAjaxPostRequest and I would like to pass raw, unformatted parameters to the server.
For example

$I->sendAjaxPostRequest('/some-endpoint', '{"foo": "bar"}');
// or even
$I->sendAjaxPostRequest('/some-endpoint', 'hello, how do you do?')
What do you get instead?

I get an error saying that the second parameter of sendAjaxPostRequest must be of type array. This array then gets converted using http_build_query and there is no way to pass raw data. See https://github.com/Codeception/Codeception/blob/3.1/src/Codeception/Lib/InnerBrowser.php#L189

When passing an array, the array always gets converted to http query params format of foo=bar&example=codeception

I think an alternative approach could be to use REST Module, which I think can accept raw content (or at least properly json_encode body).

Is there something I am missing? How would you suggest to test this endpoint?

主要語言
PHP
星號
87
分支
20
PR 合併指標
30 天內沒有已合併 PR

環境準備

這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

Codeception/lib-innerbrowser 的其他 Issue

查看 Codeception/lib-innerbrowser 的全部 Issue

相似的 Issue

更多 PHP Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。