Javascript 如何在AJAX中获取复选框值
我想在Ajax中获取复选框的值,以便将其作为每个用户的首选项保存在数据库中。我以前从来没有做过AJAX,所以我对它很迷茫 我的javascript文件:Javascript 如何在AJAX中获取复选框值,javascript,jquery,ruby-on-rails,ajax,http,Javascript,Jquery,Ruby On Rails,Ajax,Http,我想在Ajax中获取复选框的值,以便将其作为每个用户的首选项保存在数据库中。我以前从来没有做过AJAX,所以我对它很迷茫 我的javascript文件: $(document).ready -> E.accounts.changeUnmarkVisibility() $('#letters-visibility').on 'click', (e) -> E.accounts.changeUnmarkVisibility() $('#label-letters-visibili
$(document).ready ->
E.accounts.changeUnmarkVisibility()
$('#letters-visibility').on 'click', (e) ->
E.accounts.changeUnmarkVisibility()
$('#label-letters-visibility').on 'click', (e) ->
if $('#letters-visibility').is(':checked')
$('#letters-visibility').prop('checked', false)
else
$('#letters-visibility').prop('checked', true)
E.accounts.changeUnmarkVisibility()
$('#letters-visibility').on 'change', (e) ->
$.ajax
url: "/backend/accounts/{#id}"
type: 'POST'
data:
isChecked: $('#letters-visibility').is(':checked')
success: (data, status, request) ->
console.log data
E.accounts =
changeUnmarkVisibility: ->
unmarkLines = $('.active-list .unmark').closest('tr')
if unmarkLines.is(':visible')
unmarkLines.hide()
else
unmarkLines.show()
)
我的post请求返回了404错误,我认为错误在我的“数据”选项中,我不确定我是否理解您所处的位置:在我看来,您已经毫无问题地读取了复选框的值,因此我假设您不知道如何处理AJAX调用 AJAX调用实际上只是对服务器的一个请求:您可能希望调用一个脚本(由您传递的URL指向),其中包含标识用户所需的参数和将复选框值写入数据库的选项
需要知道的一件事可能很有用:不需要构造查询字符串来传递GET请求中的参数,只需在
jQuery.ajax
调用的data
参数中作为常规JSON对象传递参数即可 我不确定自己是否理解了您所处的困境:在我看来,您已经毫无问题地读取了复选框的值,因此我假设您不知道如何处理AJAX调用
AJAX调用实际上只是对服务器的一个请求:您可能希望调用一个脚本(由您传递的URL指向),其中包含标识用户所需的参数和将复选框值写入数据库的选项
需要知道的一件事可能很有用:不需要构造查询字符串来传递GET请求中的参数,只需在
jQuery.ajax
调用的data
参数中作为常规JSON对象传递参数即可 AJAX不能做到这一点。AJAX返回值。然后查看值以决定要检查的内容。如果您是在jquery中这样做的,那么请看这里:AJAX不会这样做。AJAX返回值。然后查看值以决定要检查的内容。如果您在jquery中执行此操作,请看这里:是的,Deckerz是正确的。通常,您有一个ajax调用,它有一个“数据”选项,然后是一个成功选项。数据是要发送的值的数组/对象
jQueryAjax页面上有很多选项,很容易迷失其中。但这是常态。Done在some.php(在本例中)完成后调用,并且msg拥有从msg返回的数据。通常,您需要json格式。如果您想发回2个变量,这是一个很好的练习。e、 g状态(成功/错误)和ErrorMessage=“”
如果您使用的是php json,那么encode就是实现这一点的函数
$.ajax({
method: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});
是的,Deckerz是对的,通常你有一个ajax调用,它有一个“数据”选项,然后是一个成功选项。数据是要发送的值的数组/对象 jQueryAjax页面上有很多选项,很容易迷失其中。但这是常态。Done在some.php(在本例中)完成后调用,并且msg拥有从msg返回的数据。通常,您需要json格式。如果您想发回2个变量,这是一个很好的练习。e、 g状态(成功/错误)和ErrorMessage=“” 如果您使用的是php json,那么encode就是实现这一点的函数
$.ajax({
method: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});
AJAX本身不会检查它是否被检查。您可以签入jQuery并将其作为true或false通过AJAX请求。AJAX本身不会检查是否正在检查它。您可以签入jQuery,并将其作为true或false通过AJAX请求传递。我现在理解了区别,所以我尝试在“Data”选项中插入我的复选框值,并使用“Success”选项在控制台上显示它,但得到了404错误,知道怎么了吗?(编辑)404表示“some.php”不存在。打开你的开发工具,看看你点击的是哪个页面,并将some.php修改为正确的页面。我确实是一个URL错误,我通过在我的视图中传递URL来修复它,谢谢你的帮助:)我现在明白了区别,所以我试着在“数据”选项中插入我的复选框值,并用“成功”选项在控制台上显示它,但得到一个404错误,知道怎么了吗?(编辑)404表示“some.php”不存在。打开您的开发工具,查看您正在访问的页面,并将some.php修改为正确的页面。我确实是一个URL错误,我通过在视图中传递URL来修复它,谢谢您的帮助:)