【问题标题】:Complex string in JavascriptJavascript中的复杂字符串
【发布时间】: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)

标签: javascript string post xmlhttprequest


【解决方案1】:

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

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

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

【讨论】:

  • 我这样做并使用了“xhr.open('POST', 'pooriya007.pythonanywhere.com/?code=' + Mycode);”来发送我的代码,但我仍然无法使用 \n 转到下一行。
  • 用这个来发送body : xhr.send(yourStringWithCode) 顺便说一下,你可以使用fetch方法。
猜你喜欢
  • 1970-01-01
  • 2013-01-06
  • 1970-01-01
  • 1970-01-01
  • 2022-07-29
  • 2015-11-20
  • 1970-01-01
  • 2015-09-18
  • 2017-09-17
相关资源
最近更新 更多