2013-10-26 19:50:54Morris
[Javascript] AJAX 簡易練習
分兩個檔案,分別使用 .html 和 .php。
當前主機必須確保有 Apache 的運行才能跑動 .php,如果不行運作,建議安裝 XAMPP。
使用 ajax 跟同一個資料夾的檔案溝通,上圖即為輸入一個數字,傳過去分解後將答案傳回來。
接收的方式即為字串格式,簡單的說 .php 那邊用 echo 打印的字元會被當一個字串傳回來。
- 最近使用 Sublime 免費版真不錯,功能比 Notepad++ 好用些。
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
function callPhp() {
var number = document.getElementById("minput").value;
$.ajax({
type: "POST",
url: "hw2practive.php",
data : {'N' : number},
//data: "{'sqno': '" + id + "', 'uid': '" + uid + "', 'password':'" + password + "'}",
//contentType:"application/json; charset=utf-8",
//dataType:"json",
success: function(data) {
document.getElementById("returnBlock").value += data + '\n';
},
error : function(data) {
alert("error" + data);
}
});
}
</script>
<style type="text/css">
.block {
width: 200px;
height: 200px;
background-color:#FFFFFF;
}
</style>
</head>
<body>
<input type="text" id = "minput">
<button id="" >Factor</button>
<textarea class="block" id="returnBlock"></textarea>
</body>
</html>
<?php
//$value = json_decode(file_get_contents('php://input'));
//echo json_encode($value);
$n = $_POST['N'];
echo "$n = ";
$first = 0;
for($i = 2; $i*$i <= $n; $i++) {
if($n % $i == 0) {
if($first == 1)
echo " * ";
$first = 1;
$cnt = 0;
while($n%$i == 0) {
$n /= $i;
$cnt++;
}
echo "$i ^ $cnt";
}
}
if($n != 1) {
if($first == 1)
echo " * ";
echo "$n ^ 1";
}
?>