繁体   English   中英

AJAX调用如何检索我的JavaScript变量

[英]AJAX call how to retrieve my javascript variable

我使用Rails 4,基本上我正在用jQuery遍历DOM的html网页上搜索一个值。 我将该值存储在一个名为key的变量中,然后我想使用该值发出如下请求: Record.find(id: key).name

我执行了一个AJAX调用,并且效果很好(我检查了它的呈现状态json正常)。 但是现在如何在控制器中使用/检索参数

我有一个用户和一个记录模型。 app/views/users目录中,我有部分_form.html.erb ,其中正在使用一些JavaScript。

 var key = $('input#record_id').val(); 

而且我希望该变量在用户控制器的方法搜索中可用,以便可以使用参数key发出请求。

所以我正在做一个看起来像这样的AJAX调用:

 $.ajax({ url: "/search", type: "POST", data: { value: key }, complete: function(){ console.log('success'); } }); 

在我的配置路由文件中,我写了这条路由:

post '/search' => 'users#search'

在我的用户控制器中,我编写了这样的方法:

 def search @record = Record.find(params[:key]) end 

我的部分记录中有@record吗? 如何在我的视图中打印请求的结果?

谁能告诉我我的AJAX通话是对还是错? 谢谢你的帮助。 如果我忘记提及任何信息,您可能需要告诉我,我将编辑我的帖子。

我在AJAX调用中添加了一个完整的功能,如果AJAX调用已完成,则应该显示success ,并且在控制台日志中,此消息“成功”出现

对于未找到404的网址,一定是错误的。

为了在控制器中获取param键,您必须将data更改为data: {key: key}或者如果使用data: {value: key}则您的操作必须更改参数名称,例如@record = Record.find(params[:level])

基本上,您没有在控制器中使用正确的参数名称,这就是出现问题的原因。 希望能帮助到你。

要回答第二个问题:@GDMN,您需要弄清基础知识! 每个ajax都有一个成功和失败的回调函数。您可以从操作中返回json,该回调将被成功回调函数使用,您可以从那里执行任何操作。 本质上,您可能想在Rails中渲染这样的js文件

创建一个名为search.js.erb的文件,并在其中使用您的javascript代码,如下所示

$('.some_id_or_class').html("<%= @record.name %>")

它将简单地用@record.name返回的值替换该类的元素

放置完整的URL URL:“ http://yoursite.domain/search ”,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM