gpt4 book ai didi

ruby-on-rails - "Nil location provided. Can' t build URI."在 rails 中执行 AJAX 请求时是什么意思?

转载 作者:行者123 更新时间:2023-12-03 07:40:54 24 4
gpt4 key购买 nike

我有js文件:

$('#some_btn').click(function() {    

var valuesToSubmit = $('#some_form').serialize();
var url = $('#some_form').attr('action');

console.log("VALUE: " + valuesToSubmit);
console.log("URL: " + search_url);

$.ajax({
type: 'POST',
url: url, //sumbits it to the given url of the form
data: valuesToSubmit,
dataType: "JSON",
success: function(data) {

console.log("saved");
console.log(data);

}
});

return false;
});

响应的 Controller Action :

def some_action()

...

@response = {resp: "ack"}

respond_with @response do |format|
format.json { render :layout => false, :text => @response }
end

end

路线:

post '/abc/some_action', to: 'abc#some_action'

但执行后我收到:

ArgumentError
Nil location provided. Can't build URI.


@response = {resp: "ack"}

respond_with @response do |format| # <--- Error here
format.json { render :layout => false, :text => @response }
end

最佳答案

respond_with 需要一个可以从中推断出路线的 AR 对象。

更改为:

@response = {resp: "ack"}

respond_to do |format|
format.json { render json: @response }
format.js { render json: @response }
end

另一种方法是强制 Controller 只为特定操作呈现 json。很奇怪,因为这意味着您无法发送正确的请求。

但在这种情况下:

respond_to :json, :only => :some_action

在你的行动中:

render json: @response

关于ruby-on-rails - "Nil location provided. Can' t build URI."在 rails 中执行 AJAX 请求时是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18981668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com