ChromeにエラーUncaught SyntaxError: Unexpected token ILLEGAL
があります。Javascript:予期しないトークンILLEGAL
コードがエラーで
$("form#new_redemption").live('submit', function() {
event.preventDefault();
var that = $(this);
var action = that.attr('action');
var data = that.serialize();
$.ajax({
type: "POST",
url: action,
data: data,
dataType: 'json',
beforeSend: function(request) {
request.setRequestHeader("Accept", "application/json");
},
success: function(res) {
var response = JSON.parse(res.responseText); // <~~~ Unexpected token ILLEGAL
if (response.message) {
that.slideUp();
$("#results").html(response.message).attr('class', 'notice').slideDown();
}
else if (response.url) {
window.location = response.url
}
},
error: function(res) {
var response = JSON.parse(res.responseText);
$('#results').html(response.error).attr('class', 'error').slideDown();
}
});
return false;
});
で、このコードは素晴らしい作品。しかし、成功するたびにエラーが出ます。ここに問題はありますか?そして、VIMにコード内の違法なJavaScript文字を強調する方法がありますか?
ありがとうございました!
を;' JSON.parse前に出力を表示します。 – iafonov
あなたのajax呼び出しから返ってくる結果は良いことではありません。応答が無効なjsonであるため、パーサーがエラーを蹴っています。 Markが示唆するように、結果をjsonバリデーターで実行しようとします。 – kasdega
'res.responseText'に' undefined'があります。成功した回答のための別のプロパティはありますか? –