jQuery Ajax发布在开发中投入生产
jQuery Ajax Post in development Get in production
我有一个巨大的烦恼,我想不出来。我的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。
我确信这就是造成我问题的原因。
相关文章:
- webpack开发模式和生产构建模式之间有什么区别
- Meteor-如何在开发或生产中使用包
- Jquery在生产和Heroku中不起作用,但在开发中运行良好
- 使用 Node 后端设置 webpack 热开发服务器以进行生产
- 如何在开发和生产中动态包含脚本
- Heroku+Backbone.js——如何检查是否在生产或开发中
- 从开发环境切换到生产环境时,可以使用grunt切换HTML元素
- 当使用browserfy时,建议在生产中要求缩小版本,但在开发中进行调试的方法是什么
- html在开发和生产中的不同脚本
- 有没有一种方法可以使用不同的环境配置文件来为基于Ionic Framework的Cordova应用程序进行开发和生产设置
- jQuery Ajax发布在开发中投入生产
- 用于开发和生产构建的带有Webpack的角度应用程序API URL配置
- 使用npm和grunt进行开发和生产的Javascript项目结构
- 在Javascript中切换开发/测试/生产变量
- 在开发和生产环境中获取基础url
- 如何在开发和生产环节添加不同的Javascript
- 在开发和生产中服务资产
- 在开发和生产站点中使用Javascript获取不同的基础Url
- AJAX搜索在开发和生产中的功能是不同的
- JavaScript 开发和生产模式