Elixir 菲尼克斯真人秀与js;放上“U flash”;不出现
我对phoenix form submit进行了一些自定义,使用jquery防止重新加载(因为我的登录表单处于模式),表单:Elixir 菲尼克斯真人秀与js;放上“U flash”;不出现,elixir,phoenix-framework,Elixir,Phoenix Framework,我对phoenix form submit进行了一些自定义,使用jquery防止重新加载(因为我的登录表单处于模式),表单: jquerys preventdefault()是否可能是原因:闪存未显示错误?我遗漏了什么?据我所知,你基本上破坏了你想要使用的机制put_flash功能将数据放入flash会话范围,您可以在渲染中访问该范围。但是您不再加载页面,而是使用ajaxpreventDefault()使页面不重新加载(这可能是您想要的) 您可以按照您对ajax的设想使用它,只将数据作为json
jquerys preventdefault()是否可能是原因:闪存未显示错误?我遗漏了什么?据我所知,你基本上破坏了你想要使用的机制
put_flash
功能将数据放入flash会话范围
,您可以在渲染中访问该范围。但是您不再加载页面,而是使用ajaxpreventDefault()
使页面不重新加载(这可能是您想要的)
您可以按照您对ajax的设想使用它,只将数据作为json处理,也可以根据请求重新加载页面。但是请不要使用ajax获取新的html并交换它
我甚至不知道你为什么一开始就使用jQuery。据我所知,你基本上破坏了你想要使用的机制
put_flash
功能将数据放入flash会话范围
,您可以在渲染中访问该范围。但是您不再加载页面,而是使用ajaxpreventDefault()
使页面不重新加载(这可能是您想要的)
您可以按照您对ajax的设想使用它,只将数据作为json处理,也可以根据请求重新加载页面。但是请不要使用ajax获取新的html并交换它
我甚至不知道你为什么一开始就使用jQuery。你为什么不以json为例,相应地更改页面,而不是尝试重新发布它?只需发送
{“error”:“some reason”}
并在客户端处理它,显示一个错误或诸如此类的东西为什么不使用json作为示例并相应地更改页面,而不是尝试重新提交它?只需返回{“error”:“somereason”}
并在客户端处理它,显示错误或诸如此类
<form id="loginForm" role="form">
<input type="hidden" name="_csrf_token" value="<%= get_csrf_token() %>">
...
<script> document.getElementById("loginbutton").addEventListener("click", function(event){
event.preventDefault()
$.ajax({
url:'/auth/identity/callback',
type:'post',
data:$('#loginForm').serialize()
});</script>
{:error, reason} ->
conn
|> put_flash(:error, "Could not authenticate. Error: #{reason}")
|> render(Final.PageView, "landingapp.html", current_user: current_user, current_auths: auths(current_user))