[英]Live name Availability check with Ajax and Laravel
我從name
列的products
表檢查產品的實時名稱時遇到問題。 我需要幫助。 我只checking...
消息,但沒有OK
或者名稱not available message
。 我的查詢中有什么錯誤嗎
我的阿賈克斯
<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>
我的控制器
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文檔,並進行檢查 ,以了解如何使用JSON
數據類型作為響應。
標記時請始終使用准確的version
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.