簡體   English   中英

從 html 元素獲取值並使用 ajax POST 到 php

[英]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);

現在從我看到的所有例子來看,這應該有效,但我得到了一個空白頁。

我究竟做錯了什么?

我究竟做錯了什么?

好...


現在答案。
你離目標不遠了。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM