Javascript 创建模型onClick(Rails 4)实例的Ajax调用
我想在单击按钮时触发使用AJAX创建模型。我在控制器中定义了Javascript 创建模型onClick(Rails 4)实例的Ajax调用,javascript,ruby-on-rails,ajax,Javascript,Ruby On Rails,Ajax,我想在单击按钮时触发使用AJAX创建模型。我在控制器中定义了create操作,并在按钮上添加了onClick事件监听器: <a class="add-step btn btn-primary">Add</a> <script> $('.add-step').click(function(){ console.log("button works"); $.ajax({ type:'POST', url:
create
操作,并在按钮上添加了onClick事件监听器:
<a class="add-step btn btn-primary">Add</a>
<script>
$('.add-step').click(function(){
console.log("button works");
$.ajax({
type:'POST',
url: '/blocks',
dataType: "son",
contentType: "application/json; charset=utf-8",
data: { content: "hello" }
});
});
</script>
我确实在控制台中看到“按钮工作”,但我也有一个错误:
POST http://localhost:3000/blocks 400 (Bad Request)
这似乎是params的问题(因为我没有404,似乎
create
action”起作用),但我找不到它有什么问题 原始答案
$.ajax({
method:'POST',
url: '/blocks',
dataType: "script",
format: "js",
data: { content: "hello" }
});
已更新
试着这样做:
$.ajax({
method:'POST',
url: '/blocks',
dataType: "json",
data: { content: "hello" }
});
我认为您的问题在于
数据类型
应该是json
,而类型
应该是方法原始答案
$.ajax({
method:'POST',
url: '/blocks',
dataType: "script",
format: "js",
data: { content: "hello" }
});
已更新
试着这样做:
$.ajax({
method:'POST',
url: '/blocks',
dataType: "json",
data: { content: "hello" }
});
我想你的问题是数据类型
应该是json
,而类型
应该是方法
为类似问题而研究的?@Nithin我这样做了,找到这篇文章:但即使是它的url也似乎是错误的,因为post请求必须向/model而不是/model/create发出,而且它没有一个非常有用的答案@Nithin刚刚做了,并添加了contentType:“application/json;charset=utf-8”对于我的AJAX调用,但我有相同的错误,可能是您传递了Authentity token。针对类似问题进行了研究?@Nithin我找到了,发现了这篇文章:但即使是它的url似乎也错了,因为post请求必须向/model而不是/model/create发出,并且没有非常有用的答案检查@Nithin刚刚做了并添加了contentType:“应用程序/json;字符集=utf-8“对我的AJAX调用,但我有相同的错误,可能是您有pass Authentity token。似乎不起作用。。。如果我按你的方式做,我是否应该在控制器中添加一个不同的响应?现在它被设置为json而不是jsah对不起,我将更新我的答案为json
,而不是js
,但是是的,如果你在你的控制器中使用respond\u to
js,我的初始答案会起作用。Doe似乎不起作用。。。如果我按你的方式做,我是否应该在控制器中添加一个不同的响应?现在它被设置为json而不是jsah对不起,我将更新我对json
的回答,而不是js
,但是是的,如果您在控制器中使用respond\u to
js,我的初始回答会有效