javascript - 语法错误: unterminated string literal javascript console

标签 javascript jquery html ajax

我正在创建一个 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/

相关文章:

javascript - 如何从json字符串中获取值

javascript - 找到最接近的跨度文本?

javascript - jquery 在 2 个 div 周围添加包装 div,其中内容可以是可变长度

javascript - 在 jQuery toggleSlide 之后,div block 不会向后移动

javascript - 尝试将 Canvas 从一页复制到另一页

jquery - 更改 Bootstrap 日期选择器的文本或背景颜色

JavaScript:创建返回基于输入参数返回值或对象的函数的函数

javascript - 通过循环 AJAX 调用插入查询第二次及以后不起作用?

javascript - 无法弄清楚如何根据日期自动显示文本内容

javascript - 如何在网页上显示状态消息