我在 Rails 控制器和 JS 文件之间来回发送信息。
我通过 JS 将表单发送到控制器(作品)
$("#help-email-submit").ajaxSubmit({url: '/help/send_help_email', type: 'post' });
我能够在控制器中捕捉到事件(作品)
def send_help_email .... end
在发送上述请求的同一个 JS 文件中,如何捕获 JSON 响应(如下)?(不起作用)
def send_help_email ... cst_str = @current_support_ticket.to_s respond_to do |format| format.json { render :json => cst_str } end end
在 JS 文件中
var xmlhttp = new XMLHttpRequest(); alert(xmlhttp.responseText);
更新
我注意到一个阻止成功的 JS 错误:函数执行:
错误
TypeError: 'undefined' 不是函数(评估'$("#help-email-form").ajaxSubmit({url: '/help/send_help_email', type: 'post', complete: handlerResponse })')
这是触发错误的行
$("#help-email-form").ajaxSubmit({url: '/help/send_help_email', type: 'post', complete: handlerResponse })
这是完整的块
var handlerResponse = function(data) {
alert(data);
};
$('#help-email-submit').live('click', function(e) {
$('#sender-email-wrapper').fadeOut('fast', function() {
$("#help-email-sent").fadeIn('slow');
});
$("#help-email-form").ajaxSubmit({url: '/help/send_help_email', type: 'post', complete: handlerResponse })
e.preventDefault();
});