簡體   English   中英

字符串中的編碼字符阻止提交

[英]Encoded characters in string preventing form from being submitted

我有以下Javascript:

var form = document.createElement("form");
    form.method = "post";
    form.action = "${pageContext.request.contextPath}/login?action=login";
    form.id = "loginForm";

我還有一個按鈕,可以使用上面的form submits() ,問題是通過將方括號{}替換為其ASCII代碼, submit()啟動了鏈接。 在我的瀏覽器中,它顯示為:

"$%7BpageContext.request.contextPath%7D/login?action=login"

...代替:

"${pageContext.request.contextPath}/login?action=login"

我的問題:

  • 如何強制瀏覽器分別用{}替換%7B%7D
  • 如何使submit()啟動解碼的鏈接?

我發現了問題所在:

"${pageContext.request.contextPath}"

之所以進行字面解釋,是因為它位於JavaScript文件中,而不位於jsp的變量中。 我聲明了一個變量rootPath =“ $ {pageContext.request.contextPath}”之后

"form.action = rootPath + "/login?action=login";"

現在一切正常。

暫無
暫無

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

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