如何接收数据在php从javascript发送

How to receive data in php sent from javascript

本文关键字:javascript 发送 php 何接收 数据      更新时间:2023-09-26

我正在使用javascript从我的疼痛页面发送一些数据到app.php

$(document).on('click', '.app' , function(){
        var data=$(this).attr("id");
        window.location="application/app.php?data="+data;   //data send in this statement
    });

我的PHP代码是这样的:

<?php
if($_GET['data'])
{
    echo $app_id=$_GET["data"]; receiving data 
}
?>

它有时工作,但现在它在警告框中给出通知:Undefined index data in app.php。但是它显示了回声


我想知道如何使用$_POST或$_GET接收我需要的数据。就像我们通过Ajax调用接收到的一样。但我没有在Javascript中指定这样的东西。有办法吗?

我想澄清的是,数据是存在的,它不是空的,因为echo成功地将其打印到页面

试试这个:

<?php
if(!empty($_GET['data']))
{
    $app_id = $_GET['data']; // receiving data 
}
?>

请注意,传递未经验证的数据是不安全的。推荐阅读:https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project

使用isset()首先检查键是否存在。如果没有通过url

中的参数传递,则$_GET中不存在数据。

你可能想要一些像这样的逻辑:

if (isset($_GET['data'])) {
    if (!empty($_GET['data'])) {
        $appId = $_GET['data'];
    }
    else {
        // data exists, but it's empty
    }
}
else {
    // data does not exist
}

也许你还想检查它是否是一个有效的id,比如数字之类的