При изучении Javascript и JQuery я чувствовал себя в черной дыре для очень простого кода. Мне нужно преобразовать объект JS в строку usign JSON.stringify. Объект построен путем сборки фрагментов данных из разных источников.
Чтобы упростить дело, это голый пример с полем ввода для ввода данных объекта:JQuery и JSON.stringify недоразумение
<html><head><meta charset="UTF-8" /></head>
<body>
<input type="text" id="txt" value="{Name: 'John Smith' , Value: 99}">`
<button id="test" type="text" value="3">TEST</button>
<script type="text/javascript" src="jquery-1.11.3.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#test").on('click',test);
});
function test() {
query = $("#txt").val();
json = JSON.stringify(query);
console.log("query="+json); //"{Name: 'John Smith' , Value: 99}"
query={ Name: 'John Smith', Value: 99 };
json = JSON.stringify(query);
console.log("query="+json); //{"Name":"John Smith","Value":99}
return false;
};
</script>
</body>
</html>
Как вы видите, вводимый текст не «строковой» в то время как встроенный код. Где ошибка? Спасибо
Вы можете добавить скрипку? – Mritunjay
Если вы попытаетесь «стягивать» строку, она просто поместит ее как есть. '$ ('# txt'). val()' уже является строкой. – Mritunjay