Ruby on rails xhr.send( ( options.hasContent && options.data ) || null );

问题描述

我正在制作联系我们表格。当用户登录时,表单被提交。但是当没有用户登录时,它不会提交。所有人都应该使用联系我们表格。

控制器

Class ContactUsController < ApplicationController
  def create
    contact = Contact.new

    contact.fname = params[:fname]
    contact.lname = params[:lname]
    contact.email = params[:email]
    contact.message = params[:message]

    if contact.save
      render json: { message: "Contact us successfully sent",data: contact },status: 200
    else
      json_data = { message: "Something went wrong! Please try again later",error: "ContactValidSaveError" }
      render json: json_data,status: 500
    end
  end
end

JS

var data = {
  fname: $("#fname").val(),lname: $("#lname").val(),email: $("#email").val(),message: $("#message").val()
}
$.ajax({
  url: "/contacts",type: "POST",beforeSend: function(xhr){
    xhr.setRequestHeader('X-CSRF-Token',$('Meta[name="csrf-token"]').attr('content'));
  },data: data,error: function(result){
    alert('Error');
  },success: function(result){
    console.log(result);
    alert('Success');
  }
});

我认为这是由于 CSRF 令牌或其他原因。请帮我解决一下这个。提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)