javascript - 如何通过 AJAX 将 ID 发送到另一个文件并在该文件中使用该 ID

标签 javascript php jquery ajax

我有一个 HTML 文件,其中包含如下所示的各个字段(我只显示一个示例,因为其余的都是相同的):

<map name="parcerlas">
    <area shape="poly" coords="618,4,618,74,681,76,683,56,684,39,684,27,683,14,682,4" href="#" alt="Parcela 9" title="Parcela 9" onclick="getdata('9');">
</map>

使用函数getdata(),我检索内部的ID,并且需要使用AJAX传递此ID > 到另一个 PHP 文件并在新文件中使用它。我怎样才能实现这个目标?

这是我的 getdata() 函数:

<script type="text/javascript">
    function getdata(id){
    alert(id);  
        $.ajax({
           type: "POST",
           url: "activations.php",
           data: 
           {
              id;
           }
    }
</script> 

最佳答案

您需要指定数据的键:

data: { 'id': id }

您的代码片段中还存在语法错误:

function getdata(id){
    alert(id);  
    $.ajax({
        type: "POST",
        url: "activations.php",
        data: {
            'id': id // < no need for semi-colon, properties are key->value based, 'key': value
        }
    }); // << no closing bracket and semi-colon
} // << close your function

所以你可以在你的activations.php中访问它:

$_POST["id"]

始终检查它是否已设置:

if (isset($_POST["id"])) $id = $_POST["id"]; else exit;

回答OP的具体问题:

您需要打开与 SQL 服务器的 PDO 连接(例如 MySQL)

if (isset($_POST["id"])) $id = $_POST["id"]; else exit;

$db = new PDO('mysql:host=localhost;dbname=yourdb;charset=utf8', 
              'username', 
              'password'); // Open a connection to your database
$q = $db->prepare("SELECT * FROM achievements WHERE id=?"); // Get all achievements where id=$id
$q->execute(array($id)); // Run the query

$rows = $q->fetchAll(); // Fetch the query, associated array

echo json_encode($rows); // Convert the $rows to json, so javascript can read it

您必须将 ajax 请求的数据类型设置为 JSON 或使用 $.parseJSON(data); 自行解析数据

您可以使用返回的数据向 ajax 添加成功函数:

function getdata(id){
    alert(id);  
    $.ajax({
        type: "POST",
        url: "activations.php",
        data: {
            'id': id // < no need for semi-colon, properties are key->value based, 'key': value
        },

        success: function(data) {
            var achievements = $.parseJSON(data);

            // use achievements variable
        }
    }); // << no closing bracket and semi-colon
} // << close your function

关于javascript - 如何通过 AJAX 将 ID 发送到另一个文件并在该文件中使用该 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25117559/

相关文章:

javascript - 如何获取长度和宽度的像素

Javascript 将平面数据转换为嵌套对象

PHP MYSQL查询删除所有不在循环中的值

php:插入和更新表

javascript - 源代码中 CSS 段和 JS 函数放置顺序的权衡

javascript - 使用 jQuery 将属性添加到 HTML 元素

php - Web 应用程序 HTML 参数传递

javascript - 普通 JavaScript : Filter nested array by array

php - 如何为日期格式输入创建 MySQL 字段?

jquery - 使用 jQuery/JavaScript 在 href 之后滚动到