我正在创建一个 Javasript 对象:
var obj= new Object();
obj.Message = $(".textarea").val();
并通过 JSON stringify
发布此对象:
$.ajax({
type: "POST",
contentType: "application/json",
dataType: "json",
url: 'xx/yy',
data: JSON.stringify(obj),
success: function (html) {
// ...
},
error: function (request, status, error) {
// ...
}
});
我得到:
SyntaxError: unterminated string literal in console
我应该更换什么?
编辑:
此问题特定于用户在纯文本区域(而非富文本区域)输入的数据
最佳答案
这可能是您的值有一些换行符或一些无效的字符串文字。您可以像这样替换文本区域值的换行符。
var str = $('#textarea1').val();
str = str.replace(/(?:\r\n|\r|\n)/g, '');
这是完整的代码片段,以便您检查。希望您在执行 JSON.stringify(obj) 时能够避免“SyntaxError:未终止的字符串文字”。
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
</head>
<body>
<textarea id="textarea1" rows="4" cols="50">
</textarea>
<input type="button" value="Check" id="btnCheck"/>
<script>
$(document).ready(function(){
$('#btnCheck').on('click',function(){
var str = $('#textarea1').val();
str = str.replace(/(?:\r\n|\r|\n)/g, '');
var obj= new Object();
obj.Message = str;
console.log(JSON.stringify(obj));
});
});
</script>
</body>
</html>
关于javascript - 语法错误: unterminated string literal javascript console,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41583140/