我有一个很大的烦恼,我无法弄明白。 我的Rails应用程序发出了一个jQuery post请求,该请求在开发中很有用,但变成了Get in production。 资产似乎正确预编译,我实际上可以美化生产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 .
生产出现问题,我不能为我的生活弄清楚..请帮忙!
答案 0 :(得分:0)
你可以试试$ .post而不是$ .ajax吗?
答案 1 :(得分:0)
应该更仔细地阅读jQuery文档(这与Rails无关)
&#34; script&#34;:将响应评估为JavaScript并将其作为纯文本返回。通过将查询字符串参数&#34; _ = [TIMESTAMP]&#34;,附加到URL来禁用缓存,除非缓存选项设置为true。注意:这会将POST转为GET以获取远程域请求。
我确定这是导致我这个问题的原因。