2017-01-11 4 views
0

私はJavasriptオブジェクトを作成しています:にSyntaxError:終端されていない文字列リテラルJavaScriptコンソール

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

私は何を置き換えるべきですか?

EDIT:

この問題は、いくつかの改行やいくつかの無効な文字列リテラルを持っているのこれはあなたの値とすることができるユーザーは、プレーンテキストエリアに入力するデータ(いないリッチテキストエリア)

+0

あなたはエラーをクリックすることができ、それがエラーのソース線にあなたを導くでしょう。 – Jai

+0

このコードに問題はないようです。これはあなたのコードのすべてですか? – Deep

+0

あなたの問題はありませんが、 'dataType:" json "、' data:JSON.stringify(obj)、 '間違っています...' dataType: "json"、data:obj、 '黄金です –

答えて

0

に固有のものです。このようにテキストエリアの改行を置き換えることができます。

var str = $('#textarea1').val(); 
str = str.replace(/(?:\r\n|\r|\n)/g, ''); 

これはフルコードスニペットであり、確認できます。 JSON.stringify(obj)を実行するときに、 "SyntaxError:unterminated string literal"から逃げることができたらうれしいです。

<!DOCTYPE html> 
 
<html> 
 
\t <head> 
 
\t \t <script src="http://code.jquery.com/jquery-1.8.3.js"></script> 
 
\t </head> 
 
\t <body> 
 
\t \t <textarea id="textarea1" rows="4" cols="50"> 
 
\t \t </textarea> 
 
\t \t <input type="button" value="Check" id="btnCheck"/> 
 
\t \t 
 
\t \t <script> 
 
\t \t \t $(document).ready(function(){ 
 
\t \t \t 
 
\t \t \t \t $('#btnCheck').on('click',function(){ 
 
\t \t \t \t 
 
\t \t \t \t \t var str = $('#textarea1').val(); 
 
\t \t \t \t \t str = str.replace(/(?:\r\n|\r|\n)/g, ''); 
 
\t \t \t \t \t var obj= new Object(); 
 
\t \t \t \t \t obj.Message = str; 
 
\t \t \t \t \t 
 
\t \t \t \t \t console.log(JSON.stringify(obj)); 
 
\t \t \t \t \t 
 
\t \t \t \t }); 
 
\t \t \t }); 
 
\t \t </script> 
 
\t </body> 
 
\t 
 
\t 
 
</html>

関連する問題