小弟新手剛入門,不得要領,請教各位大大一下,我需要在同一個頁面放PHP程式碼以及Javascript,
由於小弟之前從沒接觸過PHP,所以完全不懂....,根本不知道這樣可不可行,
小弟的PHP接收來自不同網頁的值,再丟給Javascript處理,處理完的值再由Javascript傳給PHP,
PHP在輸出給原來的網頁,
<?php
// Read raw data (json string) from request body. <Ref: http//goo.gl/GBKjBA>
$jsonInput = file_get_contents ('php://input');
// Decode json string to array. <Ref: http//goo.gl/cZe5>
$jsonArray = json_decode ($jsonInput, true);
// Output json data with UTF-8 encode
header ('Content-type: application/json; charset=utf-8');
// Encode array to json string
$jsonOutput = json_encode ($jsonArray);
// Make outputting
echo $jsonOutput;
?>
<meta charset="utf-8">
<title>PHP API sample</title>
<script src="jquery-1.11.3.js"></script>
<form>
<input id="level" placeholder="Your name" />
<input type="submit" value="Submit" />
</form>
<br />
<div id="result"></div>
<script>
$(function () {
// When first form submit
$('form').eq (0).submit (function (e) {
var url = 'quote.php'
, level = $('#level').val();
// Post json data to url
$.post (url, JSON.stringify ({Monsterlevel: level}), function (res) {
$('#result').html ('Retrieve from api.php: <b>' + res + '</b>');
});
// Prevent default event of submitting
e.preventDefault();
});
});
</script>
小弟研究出來的方法如上,可是將他們放在同一個頁面時,該網頁進來就直接輸出完整的Javascript程式碼....
請教一下各位大大,在同一頁面需將Javascript變數傳給PHP的話該如何實作??
這兩個程式要放在一起的話,通常輸出html是用http get方法來做請求,送資料給api則是用http post。你可以在php利用$_SERVER['REQUEST_METHOD']來取得請求使用的方法來判斷。(我猜你是要問這個)如果是http get,那$_SERVER['REQUEST_METHOD']的值會是'GET',依此類推,http post的值是'POST'。
我個人也遇到相關問題,原本很苦惱(。•ㅅ•。)♡,
後來發現原來超級簡單,
只是想法卡住!!
使用form表單跟php寫在同一頁面,用get去接就可以了。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="" method="GET">
<input type="number" name="number" placeholder="name">
<input type="submit" name="send">
</form>
</body>
<script>
</script>
</html>
<?php
if (isset($Num)){
$Num = $_GET['number'];
switch($Num){
case 1:
echo "ONE";
break;
case 2:
echo "TWO";
break;
case 3:
echo "THREE";
break;
case 4 :
echo "FOUR";
break;
default:
echo "超出範圍";
}
}
?>
就是使用HTML<form>
表單,以及php的$_GET
,是個簡單的練習。
至於使用ajax那又是另一個技術了。
加上一段JS的內容,但原理也是一樣用get去接收。