2017-04-21 101 views
0

這是一個簡單的排序小提琴,有一個難以調試的錯誤:它沒有.append,另一方面警報(數據)正在工作,所以這不是一個Ajax問題。下面是代碼:一個奇怪的.append錯誤

<!doctype html> 

<html> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 

<div>Enter a sequence with spaces:</div> 
<form method="post"> 
<input type="text" id="n" name="numbers"> 
<button>Sort</button> 
</form> 
<div>The sorted sequence is: <span id="s"></span></div> 

<script> 
$(document).ready(function(){$("form").submit(function({$.post("/tests/sort.php",$(this).serialize(),function(data){JSON.parse(data);$("#s").append(data);});})}); 
</script> 

</html> 

與PHP

<?php 

$s=$_POST["numbers"]; 
$a=explode(" ",$s); 
sort($a); 
echo json_encode($a); 

?> 

任何人都可以請找出錯誤?

+0

有沒有在你的瀏覽器的控制檯任何錯誤? – gurvinder372

+0

'$(「#s」)。html(data)'或'$(「#s」)。text(data)'? –

+0

您的js代碼中有語法錯誤 –

回答

1

正如我在你的問題的評論中提到的,你在JS代碼中有一個錯誤。爲了避免這樣的錯誤,你必須編輯代碼以獲得更好的閱讀效果。這裏有一個例子:

$(document).ready(function() { 
    $("form").submit(function() { 
     $.post("/tests/sort.php", $(this).serialize(), function (data) { 
      JSON.parse(data); 
      $("#s").append(data); 
     }); 
    }) 
}); 
1

你缺少一個右括號)和分號;。您可以使用jshint.com來檢查你的語法,並應縮進你的代碼,因此容易閱讀:

$(document).ready(function(){ 
    $("form").submit(function(){ 
     $.post("/tests/sort.php",$(this).serialize(),function(data){ 
      JSON.parse(data);$("#s").append(data); 
     }); 
    }); 
});