你好,什么是不允许来自浏览器的GET请求的替代方法。
这是相关问题:Ajax request sent via GET even if method is POST
我有这个ajax请求:
$(".vehicle_make_dropdown").on "change", ->
$.ajax(
url: "/get_maker_models"
data:
maker: $("#entry_vehicle_make").val()
type: "GET"
dataType: "JSON"
).success( (json) ->
i = 0
$(".vehicle_model_dropdown").html("")
$(".vehicle_model_dropdown").prop("disabled", false)
while(i < json.length)
$(".vehicle_model_dropdown").append("<option value='#{json[i]["title"]}'>#{json[i]['title']}</option>")
i++
).error( (resp) ->
console.log("error")
)
和这条路线:
get "get_maker_models" => 'credit_form#get_maker_models'
我怎么能只允许这是ajax请求,所以无法通过浏览器网址访问它。我的意思是当我尝试通过GET访问浏览器获取get_maker_models时不会出现路由错误?
编辑:
替代:
request.xhr?
match "get_maker_models" => 'credit_form#get_maker_models', via: [:get, :post], constraints: -> (req) { req.xhr? }
还有其他选择吗?