コントローラーでは、AJAX 要求への応答は次のとおりです。
@response = {resp: "ack"}
render json: @response
AJAX を処理する JS は次のとおりです。
$('#some_btn').click(function() {
var valuesToSubmit = $('#some_form').serialize();
var url = $('#some_form').attr('action');
console.log("VALUE: " + valuesToSubmit);
console.log("URL: " + search_url);
$.ajax({
type: 'POST',
url: url, //sumbits it to the given url of the form
data: valuesToSubmit,
dataType: "JSON",
success: function(data) {
console.log("saved");
console.log(data);
}
});
return false;
});
しかし問題は、コンソール メッセージが表示されず、代わりにページがリロードされ、json が新しいページのテキストとして表示されることです。この「非真の AJAX」動作を防ぐにはどうすればよいですか?