我正在尝试在提交表单时使用Ajax获取模式的实例(采用JSON格式)。目前,在警报时,它不输出任何内容,空白。
alert('<%= @modal_data.to_json.html_safe %>');
输出JSON数据,但通过Ajax调用的alert(data);
不会输出任何内容。
控制器
class ModalController < ApplicationController
def modal_index
@modal_data = Modal.where(:var => params[:attr1])
respond_to do |format|
format.html
format.json {render json: @modal_data}
end
end
end
的JavaScript
$(document).ready(function() {
$('#my_form').on("submit", function () {
$.ajax({
type: "GET",
dataType: "json",
url: "/modal/modal_index",
success: function(data){
alert(data);
}
});
});
});
答案 0 :(得分:1)
为了使其与JSON一起使用,您需要将内容类型设置为application/json
。
如果您$.ajax
致电
$(document).ready(function() {
$('#my_form').on("submit", function () {
$.ajax({
type: "GET",
contentType: "application/json",
url: "/modal/modal_index",
success: function(data){
alert(data);
}
});
});
});
此外,您似乎没有提供查找模型所需的参数(attr1)。
保持控制器的标准,通过id
或item_id
以获取所需的对象。