[英]GET value from html element and POST with ajax to php
拳頭,我是 JavaScript 的新手,所以請原諒我的無知。
我有一個接受每個按鈕指定的參數的函數。
我正在嘗試使用 PHP 和 AJAX 來成功查詢 MySQL 數據庫。
這是我到目前為止:
function reply_click(clicked_id) { var Type = clicked_id; $.ajax({ type:'post', url:'PHP_markAtype.php', data: {type: Type}, success: function(data, textStatus, jqXHR) { console.log(data); } }); }
<button class="click" name="rowID" type="submit" onClick="reply_click('dog')">Make it a dog</button>
然后在服務器端 PHP(在頁面 PHP_markAtype.php 上)我有:
$idAnim = $_GET["Site"];
mysql_select_db($dbname, $con);
// update type
$query = "UPDATE tableA SET Atype = '$idAnim'";
mysql_query($query);
現在從我看到的所有例子來看,這應該有效,但我得到了一個空白頁。
我究竟做錯了什么?
我究竟做錯了什么?
好...
mysql_*
函數而不是mysqli_*
函數。$_GET
訪問發布的數據。 現在答案。
你離目標不遠了。
PHP 應如下所示:
$idAnim = $_POST["animal"];
$query = $con->prepare("UPDATE tableA SET Atype = ?");
$query->bind_param("s", $idAnim);
$query->execute();
echo "Successfully updated data to $idAnim";
?>
請注意,我沒有在這里做任何錯誤檢查,我把它留給了你。
確保$_POST
已發送, bind_param
沒有失敗,並且execute
成功。
現在是 HTML 和 JavaScript (JS)。
function reply_click(clicked_id) { $.ajax({ type: "POST", url: "PHP_markAtype.php", data: {animal: clicked_id}, success: function(data, textStatus, jqXHR) { $("#test").html(data); } }); }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <button class="click" name="rowID" type="submit" onClick="reply_click('dog')">Make it a dog</button> <div id="test"></div>
如果數據成功,我已更改 JS 以更改 PHP 消息的新<div>
內容。
此外,我已經刪除了參數的無意義變量賦值。
我希望這對您有用,但請考慮此答案頂部的評論。
使用mysql_*
並將變量直接打印到字符串中存在一些嚴重的安全問題。
改變
$_GET["type"];
到
$_POST["type"];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.