我有一個HTML頁面設置爲一個形式如下:困惑的動作標籤
<form name="form" action="process.php" method="POST">
Username: <input type="text" name="user">
<br>
Password: <input type="text" name="pass">
<br>
<input type="submit" value="LOGIN">
</form>
當我點擊我的提交按鈕,將數據發送到我的process.php腳本,這是一切都很好。
但我想要做的就是發送一個JSON字符串PHP腳本,而是和有PHP腳本解析它。 因此我嘗試了以下內容:
<body>
PLEASE ENTER YOUR INFORMATION:
<form name="form" action="">
Username: <input type="text" name="user">
<br>
Password: <input type="text" name="pass">
<br>
<input type="submit" value="LOGIN" onclick="encrypt(this.form, 0)">
</form>
</body>
<script LANGUAGE="JavaScript">
function encrypt(form, key){
var user = form.user.value;
var pass = form.pass.value;
var str = {"username": user, "encrypted_password": pass};
var JSON_str = JSON.stringify(str);
var xhr = new XMLHttpRequest();
xhr.open("POST", "process.php", true);
xhr.send(JSON_str);
}
</script>
然而,這好好嘗試一下做任何事情。當我點擊提交按鈕時沒有任何反應。即使我點擊「提交」按鈕時,只能得到process.php來顯示某些內容,那也是非常有用的。
謝謝!
你能提供一些上下文嗎?爲什麼作爲json字符串發送? – Ghost 2014-11-05 03:43:54
您應該看看AJAX調用,您可能會覺得它很有趣! – Philibobby 2014-11-05 03:45:36
恐怕我是javascript/php的noob,所以我沒有理由說爲什麼作爲JSON字符串發送會比表單數據更差/更好。 我只對將數據發佈到腳本後發生的情況感到困惑。 在我看來,action =「process.php」告訴瀏覽器運行該腳本,但只發布JSON字符串「發送」字符串。 我怎樣才能讓它運行php腳本?謝謝 – 2014-11-05 03:50:20