一切都按预期工作,但是,我希望我的用户在发送消息后立即切换到不同的 url,所以在他向服务器发送 ajax 发布请求后,我试图将他/她从服务器中的 res 变量重定向. 我确信 client.js 没有任何问题,但是 res.redirect 将我重定向到哪里,我在同一页面上,在消息发送后。没有错误。并且两个 console.log 语句都在执行,所以 res.redirect 可能有问题,请有人告诉我该怎么做。基本信息:我在客户端使用 express 服务器、nodejs 和 javascript。客户端.js$(document).ready( message='');function getmessagefrominput(){ var message =$('#message'); var value = message.val(); message.val(''); return value;}function appendmessage(message){ var messagecontainer =document.getElementById('messages'); //console.log(messagecontainer); var mymessage= document.createElement("div") mymessage.setAttribute('class','sentmessagecontainer') var newmessage= document.createElement("p") newmessage.setAttribute('class','sent') newmessage.textContent=message; mymessage.appendChild(newmessage); messagecontainer.appendChild(mymessage);}function sendmessage(username,friend){ var message=getmessagefrominput(); //console.log('{from:'+username+',to:'+friend+',message:'+message+'}') if(message!=null && message!=''){ var jqxhr =$.post( "/ajax/newmessage", { from:username,to:friend,message:message } , ()=>{appendmessage(message);}); } }服务器.jsconsole.log('trying to redirect'); res.redirect('/'+obj.from+'/direct/inbox/'+x); console.log('ok redrected');
1 回答
心有法竹
TA贡献1866条经验 获得超5个赞
当您执行 ajax 时,它会向服务器发起一个单独的请求,重定向不会影响主线程(无论 ajax 请求上的重定向如何,页面都保持不变)。
如果要重定向页面,则需要document.location.href
在 Ajax 回调或请求中使用 with <form>
,这将用重定向可能影响的请求替换您的页面。
添加回答
举报
0/150
提交
取消