2

ページに ajax 呼び出しでリロードされる入力ボックスがあります (コンテンツは更新されます)。問題は、入力ボックスに一重引用符が含まれている場合、残りの値が切り捨てられることです。どうすればその問題を解決できますか?

myVal = <-- its coming dynamically from db and when it contains values like "It's me", next time page reloads It just show "It" in input box
$('#myInput').val(myVal);
//after setting value and doing some other things, this content is reloaded

ここにJava(サーバー側コード)があります

<input id="myInput"  value="<c:if test='${deamer!=null}">${deamer.name}, ${deamer.code}</c:if>' />

サーバー側の値に ['] が含まれている場合、コードは失敗します....

4

2 に答える 2

2

エスケープされた文字列に問題があります。文字列エスケープを不適切に処理すると、XSS やインジェクション攻撃にさらされる可能性があるため、これは重要です。

コードを提供しておらず、スクリプトに DB 値を挿入するためにサーバー側で使用している言語を指定していないため、これ以上のことはできません。このような生データを挿入することはお勧めしません。また、JSON 形式のサーバー応答など、JavaScript で簡単に使用できる何らかの形式の仲介を使用することをお勧めします。

于 2013-03-20T18:57:33.520 に答える
0

問題を再現できませんでした:

$(document).ready(function() {
   myVal = "It's me"
   $('#myInput').val(myVal);
});

入力のテキストは It's me.

デモ

于 2013-03-20T18:55:24.723 に答える