在控制器中,对 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”行为?