使JS请求到我的Rails API
Making JS request to my Rails API
我是rails新手。我正在创建一个基本的rails api。试图添加用户到我的模型使用JS请求…
这是我的HTML文件:(add-user.html)<script type="text/javascript" charset="utf-8">
$(function () {
$('#adduser').submit(function(e){
$.post('http://localhost:3000/users', {user: {username: $("#usr").value}, user: {password:$("#psw").value}});
});
});
</script>
<form id="adduser" data-ajax="false">
<input type="text" id="usr" placeholder="Username"/>
<input type="password" id="psw" placeholder="Password"/>
<input type="submit" value="Add User" id="usradd" name="login"/>
</form>
当我点击提交,$.post()只是添加数据到我的url…数据没有添加到我的模型中…
My users_controller code:
def new
@user = User.new
render json: @user
end
def create
@user = User.new(params[:user])
if @user.save
render json: @user, status: :created, location: @user
else
render json: @user.errors, status: :unprocessable_entity
end
end
实际上你不需要使用$。通过在表单标记本身中指定action url来提交表单。请务必检查以下内容。
<form action="/users/create" method="post"> <input type="text" id="usr" placeholder="Username"/> <input type="password" id="psw" placeholder="Password"/> <input type="button" value="Add User" id="usradd" name="login"/> </form>
黄恒的回答应该能奏效。我知道你可能只是想让这个工作,但想指出的是,你想避免在这样的post request中使用完整的url。这是不必要的,而且当您将代码迁移到阶段和生产区域时,可能会引入更大的问题。
试试这个:
<input type="text" id="usr" placeholder="Username"/>
<input type="password" id="psw" placeholder="Password"/>
<input type="button" value="Add User" id="usradd" name="login"/>
$(function () {
$('#usradd').click(function(e){
var user = {
username: $("#usr").val(),
password: $("#psw").val()
}
$.post('/users/create', user);
});
});
'/users/create' -我认为它应该是这样的,但这取决于你的路由设置。可以使用rake:routes命令查看。
编辑:在这种情况下,你真的不需要form元素。
编辑# 2:如果在创建用户之后需要重定向,则根本不需要ajax。您应该使用form_for rails帮助器,它将帮助您为用户模型构建表单。在这种情况下,不需要任何javascript代码。
- Rails:试图在javascript(Google Charts API)中嵌入一个adv-ruby(each+迭代器
- 如何检索从桌面应用程序发送到Rails API的图像
- Rails Google maps javascript api v3 setIcon() url 無法定位圖片
- angular js - 指定 Rails API 的主机名
- Angular ng-model 将数据作为数组发送到 rails-api
- 将Google Places API与Rails应用程序集成
- 谷歌图表API与Ruby on Rails
- Javascript 客户端框架与 Rails JSON API - 如何进行集成测试
- 用于 Rails JSON API 的有用 nodejs 库
- BackboneJS + Ruby on Rails (rails-api) 跨域问题
- Rails API-移动应用程序状态文本错误
- 使用rails-api、backbone.js和design进行身份验证的请求
- 覆盖骨干.同步Rails API认证与设计
- 用来自rails api的表单提交的新数据重新填充Angular应用的数据
- 如何使用Angular和Rails API实现通知——而不是使用轮询技术
- EmberJS Rails API security
- 使JS请求到我的Rails API
- 使基本的请求在JS我的Rails API从Chrome扩展
- rails API + Angular2前端+静态HTML主页
- 使用AJAX在Rails API上创建/保存用户