【超详尽!!!】使用ajax让php和javascript进行交互

本文详细解释了PHP如何正确接收来自Ajax的POST数据,并通过一个具体示例展示了数据的传递过程。了解了A端(JS)与B端(PHP)在数据交换中的运作机制,以及如何确保数据成功处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在写一个2048的小游戏,但是其中一块需要让php读取来自js的数据,测试了一下午,也找了很多博客,最后来给大家分享一下。

首先很多人包括我,会问为什么php收不到ajax的数据

首先我要说的是,php收到数据了,但是运作方式和我们想的不太一样!!!!

首先贴代码

js端

<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    var now=5;
    $.ajax({
        url:'test.php',
        type:'POST',
        data:'data='+now,
        success:function(result){
            alert(result);
        },
        error:function(msg){
            alert('Error:'+msg);
        }
    });
});
</script>

php端

<?php
echo '"'.$_POST['data'].'"被发现了。';
?>

大家将两个代码分别放在两个文件中,我们假设js端页面叫做A,php页面叫做B

运行后会发现A端会提示  5被发现了

而B端会提示  data未被定义!

但是,就是这样才是对的!!!!!

我一直在想,为什么B端会提示data未定义呢,是不是哪里错了

但是,没有错!!!!就是这样的!!!!!

原因是这样的:

A端通过ajax发送数据给B端,此时调用B端的php代码,调用后会将B端返回的数据调回给A端,之后,B端php代码段会被消除

可以这么理解,A段发送数据后,理了一下B端,当B端执行完后,就把B端给废了,所以最后A端会拿到B端反馈的数据,而B端由于之前接收到ajax数据包后就被废掉了,所以这个时候的B端不是以前的B端,而是一个全新的B端

那么我们怎么办呢?很简单,由A端ajax发送数据,之后B端接受ajax的数据后,进行相应的操作(比如我的项目需要从A端拿到数据后链接数据库并插入,那么我就在B端代码里面接受数据后连接、插入数据,之后就好了。这时我的项目里面B端不用写返回值,因为A端并不需要反馈,A给B一个数据,B照着做就完了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值