javascript - 使用 Ajax 和 Laravel 进行实时名称可用性检查

原文 标签 javascript php jquery ajax laravel-5

我无法从 products 检查产品的实时名称name 的表格柱子。我需要帮助。我得到了checking...只发消息未收到OK或姓名 not available message .我的查询有问题吗

我的 Ajax

<SCRIPT type="text/javascript">
$(document).ready(function(){

$("#name").change(function() { 

var usrN = $("#name").val();

if(usrN.length >= 4)
{
$("#status").html('<img src="images/loadingAnimation.gif"> Checking ...');

    $.ajax({  
    type: "POST",  
     url :"{{action('Product\ProductController@Check')}}", 
    data: "name="+ usrN, 
    success: function(msg){  

   $("#status").ajaxComplete(function(event, request, settings){ 

    if(msg == 'OK')
    { 
        $("#name").removeClass('object_error'); 
        $("#name").addClass("object_ok");
        $(this).html('<img src="images/success.png" align="absmiddle"> OK<');
    }  
    else  
    {  
        $("#name").removeClass('object_ok'); 
        $("#name").addClass("object_error");
        $(this).html(msg);
    }  

   });

 } 

  }); 

}
else
    {
    $("#status").html('<font color="red" style="margin-left:125px;">something went wrong <strong></strong> .</font>');
    $("#name").removeClass('object_ok'); 
    $("#name").addClass("object_error");
    }

});

});


</SCRIPT>

我的 Controller
 public function Check(Request $request)
    {

    $product= new Product;  
    $name = $request->get('name');  
    $product->name = $request->get('name');


    $query = \DB::table('products')->select('name')
             ->where('name','=',$name)
             ->first();
        if($query)
        {
            echo"name not available!";
        }
        echo"name available!";
    $product->save();

我的表格
<input type="text" name="name" id="name" style="margin-top:35px;" />
<span id="status"></span>

最佳答案

您正在客户网站上检查以下内容:

if(msg == 'OK')

但是您从未从服务器发送该字符串并且还使用 return而不是 echo .以下可能会解决您的问题,但它仍然不是我会使用或推荐的东西,但无论如何:
// In your check method
if($query)
{
    return 'error';
}

$product->save();

return 'ok'; // ok is lower case so use if(msg == 'ok')

不要使用 echo .请阅读 Laravel首先是文档,还有 check this并了解如何使用 JSON数据类型作为响应。

始终使用精确的 version标记时。

关于javascript - 使用 Ajax 和 Laravel 进行实时名称可用性检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32062626/

相关文章:

javascript - 覆盖浏览器地理位置通知

php - 将外部PHP载入工具提示div

jquery - 如何在所有主要浏览器的Flash顶部显示Javascript导航菜单

javascript - 按钮单击时的 setTimeout 事件不起作用

javascript - 在弹出页面关闭之前刷新父页面

javascript - 与 jQuery 相比,Cheerio 和 `.find()` 返回的元素过多

php - PHP 中的 MongoDB 游标,它是在查询执行时将所有记录带到客户端还是在游标迭代时一一呈现?

php - 使用PHP整理多个JavaScript文件要比分别包含所有JavaScript文件更快吗?

jquery - HTML 属性可以有撇号吗

javascript - iframe在网页中显示 "document.write("