laravel中的Ajax验证

Ajax verification in laravel

本文关键字:验证 Ajax 中的 laravel      更新时间:2023-09-26

我试图使ajax非常化,但我不知道为什么它不工作。

这是我的ajax脚本:
<script type="text/javascript" language = "javascript">
function checkWords () {
  var status = document.getElementById("status");
  var u = document.getElementById("styled").value;
  if(u != "")
  {
    status.innerHTML = 'Verifying...';
    var hr = new XMLHttpRequest();
    hr.open("POST","/topicnou",true);
    hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    hr.onreadystatechange = function(){
         if (hr.readyState == 4 && hr.status == 200)
      {status.innerHTML = hr.responseText;}  
}
  var v = "name="+u;
  hr.send(v);

}
}
</script>
这是我的php:
<?php 
if(isset($_POST['name']) && $_POST['name'] != ""){
   echo 'succes';
 }
?>

PS:购买的脚本位于topicnou. blade.php中,如果您进入localhost/topicnou,可以看到。

这是在我的控制台显示的内容:

POST http://localhost/topicnou 500 (Internal Server Error)

XHR完成加载:POST "http://localhost/topicnou".

@Uranii,

我该怎么做呢?

打开谷歌浏览器,例如,打开任何你的laravel页面点击键盘上的f12,在打开的控制台栏打开网络选项卡,找到你打开的路径列"名称"http://prntscr.com/8emtds例如,我打开路径mysite.com/crm/staff/auth/login,在截图中可以看到它。然后在这个请求头中找到Cookie Laravel Session。复制它,你可以在你的ajax请求中使用它。但是,这是奇怪的,比我使用Jquery AJAX -它的工作没有laravel_session cookie…也许使用JQuery Ajax会更好?

$.post('/path', {name: name, (optional) laravel_session: copied_session}, function(response){
     $(body).append(response)
})

它真的工作,即使没有laravel_session

Laravel POST-requests required Cookie 'laravel_session',你可以看到它在chrome网络标签,例如。将它添加到您的ajax请求,我认为,这将是工作)

http://prntscr.com/8efuon