簡體   English   中英

使用 JavaScript 的 Fetch API 發送 POST 請求時 JSON 解析錯誤

[英]JSON parse error when sending POST request using JavaScript's Fetch API

當我使用 fetch 發送以下 POST 請求時:

                fetch(requestUrl, {
                    method: 'POST',
                    headers: {
                        'id': 'my_id',
                        'secret': 'my_secret',
                        'Content-Type': 'application/json'
                    },
                    body: {
                      'username': '123',
                      'password': '456'
                    }
                })
                .then(function(response) {
                    return response.json();
                })
                .then(function(data) {
                    console.log(data);
                })
                .catch((error) => {
                    console.log(error);

                })

我收到以下錯誤:

   'JSON parse error: Unrecognized token \'object\': was expecting (\'true\', \'false\' or \'null\'); nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token \'object\': was expecting (\'true\', \'false\' or \'null\')\n at [Source: java.io.PushbackInputStream@f402d7e; line: 1, column: 9]',

我嘗試進行故障排除,該錯誤是由我試圖隨請求一起發送的headersbody引起的。

有誰知道這個錯誤到底與什么有關?

JSON 以 { 或 [ 或正常的 ascii 字符開頭。 你試圖做一些混亂,所以 JSON 解析器很困惑。 沒有有效的 JSON 不好玩。 在事情發生之前向我們展示您發送或收到的內容的前幾個字符也會很有幫助。 根據 JS 文檔,JSON 字符串必須是正確的。 如果您嘗試在數據集中發送像 ]}\,'" 這樣的特殊字符,它也會將其混淆。在這種情況下,您必須轉義這些字符。如果沒有任何幫助,可以制作一個 base64 字符串值。我只能猜測你沒有逃脫“\”字符(應該看起來像\ \轉義)還是你的意思是'\object\'?當你展示它時這看起來有點奇怪(錯誤的'position在開始)。一些在線JSON解碼器也提供有關錯誤的更多有用信息。無論如何,錯誤都在 JSON 字符串內。如果某些“標題”出錯 - 不會返回任何內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM