Javascript中的复杂字符串

Posted

技术标签:

【中文标题】Javascript中的复杂字符串【英文标题】:Complex string in Javascript 【发布时间】:2022-01-19 13:16:56 【问题描述】:

我想将我的代码发送到此 API 进行编译。但它会抛出一个错误,因为我的字符串中有 \n 。 如何在标题中设置此字符串?

xhr.setRequestHeader('code', 'n = 5\nwhile n > 0:\n   n -= 1\n   print(n)');

xhr.setRequestHeader('code', 
'n = 5
while n > 0:
    n -= 1
    print(n)'
);

这是我得到的错误:

Uncaught DOMException: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': 'n = 5
while n > 0:
 n -= 1
 print(n)' is not a valid HTTP header field value.

【问题讨论】:

您确定要通过标头而不是作为请求内容发送该代码吗? 我该怎么做? (最好只使用javascript 【参考方案1】:

标题值中不允许使用换行符。

不过,你可以自己想出一个特定的字符序列,后端会将其视为换行符,并自动将这个序列替换为换行符。

当然,最好在 HTTP POST 请求正文中而不是在标头中传输此类内容。

【讨论】:

我这样做并使用了“xhr.open('POST', 'pooriya007.pythonanywhere.com/?code=' + Mycode);”来发送我的代码,但我仍然无法使用 \n 转到下一行。 用这个来发送body : xhr.send(yourStringWithCode) 顺便说一下,你可以使用fetch方法。

以上是关于Javascript中的复杂字符串的主要内容,如果未能解决你的问题,请参考以下文章

Javascript中的复杂字符串

javascript 字符串数组链接

使用JavaScript

JavaScript中的DOM,BOM详细介绍;

二维数组中的增强 for 循环 - JavaScript

数字文字混淆中的 JavaScript 指数