jQuery Ajax发布在开发中投入生产

jQuery Ajax Post in development Get in production

本文关键字:开发 投入生产 Ajax jQuery      更新时间:2023-09-26

我有一个巨大的烦恼,我想不出来。我的Rails应用程序发出了一个jQuery post请求,它在开发中非常有效,但在生产中却变成了Get。资产似乎预编译正确,我实际上可以美化生产js代码,并找到确切的ajax代码(与我在开发中的代码相同。)

//my js
$(document).on("click", ".create-candidate-submit", function (e, data) {
urlToPost = DOMAIN_NAME + "stories/" + e.currentTarget.id + "/" + "candidates/";
console.log("urlToPost", urlToPost);
$.ajax({
    type: "POST",
    url: urlToPost,
    data: {"candidate": {
        "text": $("#createNewCandidate").val(),
        "story_id": e.currentTarget.id
    }
    },
    dataType: "script",
    success: function (res) {
        console.log("success called..", res);
        //  eval(res);
    }
});

});

   //erb
  <%= form_for [@story,@candidate],remote: true, html: {:role=>"form"} do |f|%>
          <div class="form-group">
            <label for="createNewCandidate">create story</label>
            <%=f.text_field :text,{:class=>"form-control",:id=>"createNewCandidate",:size=>30}%>
            <%=f.hidden_field :story_id%>
            <%=f.hidden_field :user_id %>
            <div class="btn btn-primary create-candidate-submit" id="<%=@story.id%>">שלח</div>
          </div>
      <%end%>
 applicaiton.js.erb
 //= require jquery
 //= require jquery_ujs
 //= require twitter/bootstrap
 //= require turbolinks
 //= require css_settings.js.erb
 //= require_tree .

生产出了问题,我一辈子都想不出来。。请帮忙!

你能试试$.post而不是$.ajax吗?

应该更仔细地阅读jQuery文档(这与Rails无关)

"script":将响应求值为JavaScript,并以纯文本形式返回。通过将查询字符串参数"_=[TIMESTAMP]"附加到URL来禁用缓存,除非缓存选项设置为true。注意:这将把POST转换为远程域请求的GET

我确信这就是造成我问题的原因。