Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 修复传递给api的字符串中的换行符问题_Javascript_Html - Fatal编程技术网

Javascript 修复传递给api的字符串中的换行符问题

Javascript 修复传递给api的字符串中的换行符问题,javascript,html,Javascript,Html,我用这段代码将输入变量传递给api。我的输入变量是一个textarea元素。如果我输入不带换行符的常规文本(按enter/return按钮),它会工作。但如果我给出类似于: var input = document.getElementById("input").value; body: `{ "prompt": "${input}", "max_tokens": ${range} }

我用这段代码将输入变量传递给api。我的输入变量是一个textarea元素。如果我输入不带换行符的常规文本(按enter/return按钮),它会工作。但如果我给出类似于:

var input = document.getElementById("input").value;    
body: `{
    "prompt": "${input}",
    "max_tokens": ${range}
    }`

它返回一个错误。

在JSON中,换行必须转换为转义序列
\n
。您的代码将在
正文
字符串中放入文字换行符

创建一个对象并使用
JSON.stringify

Hi my name
is something

永远不要试图手工构造JSON。您可能使用的每种语言都有内置函数或库函数来创建和解析JSON。

在JSON中,换行符必须转换为转义序列
\n
。您的代码将在
正文
字符串中放入文字换行符

创建一个对象并使用
JSON.stringify

Hi my name
is something

永远不要试图手工构造JSON。您可能会使用的每种语言都有内置函数或库函数来创建和解析JSON。

我想您正在寻找
JSON.stringify
您能告诉我您到底遇到了什么错误吗?为什么要首先将其设置为字符串?@Evert我应该使用JSON.stringify(输入)然后将stringify变量传递给“提示符”在我看来,
body
的内容是JSON。因此,不,对您尝试序列化的整个对象使用它。我想您正在查找
JSON.stringify
您能告诉我您到底遇到了什么错误吗?为什么要首先将其设置为字符串?@Evert我应该使用JSON.stringify(输入),然后将stringify变量传递给“提示符”在我看来,
body
的内容是JSON。所以不用了,对你要序列化的整个对象使用它。谢谢你的回答,它现在可以工作了!我有一个问题,身体的另一个属性叫做“停止”,我把它用作“停止”:[“AI:”,“Human:”]。api文档说我应该发送字符串或数组,所以我是这样使用的,没有JSON.stringify。但是现在它不适用于这个属性。当我删除这个“stop”属性时,它就工作了,但如果我将它添加为stop:[“AI:”,“Human:”],它就不工作了。我做错什么了吗?其他属性使用相同的语法,在JavaScript中是否将
stop
放在引号中并不重要。无论哪种方式,JSON.stringify都应该正确地转换它。您记得在对象的前一行末尾添加逗号吗?谢谢您的回答,它现在可以工作了!我有一个问题,身体的另一个属性叫做“停止”,我把它用作“停止”:[“AI:”,“Human:”]。api文档说我应该发送字符串或数组,所以我是这样使用的,没有JSON.stringify。但是现在它不适用于这个属性。当我删除这个“stop”属性时,它就工作了,但如果我将它添加为stop:[“AI:”,“Human:”],它就不工作了。我做错什么了吗?其他属性使用相同的语法,在JavaScript中是否将
stop
放在引号中并不重要。不管怎样,JSON.stringify都应该正确地转换它。您记得在对象的前一行末尾添加逗号吗?