首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我的ajax数据没有发布到php!我得到一个空的$_POST数组

问题描述:我的ajax数据没有发布到php!我得到一个空的$_POST数组。

解答: 这个问题可能是由于以下几个原因导致的:

  1. AJAX请求未正确设置请求头:在发送AJAX请求时,需要设置请求头Content-Typeapplication/x-www-form-urlencodedmultipart/form-data,以确保数据以表单形式传递给服务器。可以通过setRequestHeader方法来设置请求头。
  2. AJAX请求未正确序列化数据:在发送AJAX请求时,需要将数据序列化为字符串并作为请求的参数发送给服务器。可以使用JSON.stringify方法将数据对象转换为字符串。
  3. AJAX请求未正确指定请求方法:默认情况下,AJAX请求使用GET方法发送请求,如果需要使用POST方法,需要在open方法中指定请求方法为POST。
  4. PHP未正确接收数据:在PHP中,通过$_POST数组来接收POST请求发送的数据。如果$_POST数组为空,可能是由于请求未正确发送或者数据未正确传递给服务器。

综上所述,解决这个问题的步骤如下:

  1. 确保AJAX请求设置了正确的请求头,例如:xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  2. 确保数据正确序列化并作为请求参数发送给服务器,例如:xhr.send(JSON.stringify(data));
  3. 确保AJAX请求使用了正确的请求方法,例如:xhr.open('POST', 'url', true);
  4. 在PHP中使用$_POST数组接收数据,例如:$data = $_POST;

如果问题仍然存在,可以进一步检查网络请求是否成功发送到服务器,以及服务器端是否正确处理请求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一个故障案例看强大令人发紫Oracle数据库--数据中心故事

作为一名混迹数据库江湖十几年老DBA,当你对关系型数据了解越来越深入时,你会发现,Oracle数据库真的是强大令人发紫!...Oracle数据强大,不仅体现在其对ACID巧妙实现,其对高并发完美支持,更重要是他可管理性,包括可度量、可回溯,以及出现问题后问题核查接口和问题检查方法论,真是强大令人发紫,这是其他关系型数据库短期内还无法超越...“别着急,你收两个SSD保存现场,然后杀掉pmon,先恢复业务,然后把SSDtrace发来做下RCA!”...学了那么多体系架构东西,怎么用到生产问题中呢? 是否可以运用原理帮助解开这个数据库挂起问题呢? 面试候选DBA时候,喜欢问原理。...他是干什么吃… 是的!这就是问题关键!当听到这么一个振聋发聩惊天一问时,恭喜你,跨过了一道坎! 如果已经提示这个程度,依然无法发出这么一个疑问,可以找小y给培训一下了!

1.3K40

JQuery 入门学习(三)

这一节涉及浏览器与服务器交互,用到php,如果各位看官不会php脚本也没有关系,涉及php代码最多10行,重点还是在Jquery上。...这是最简单ajax,简单地请求一个文本文件。最常见,我们是向一个脚本,通过get或post请求一个html或json。...说了json是一个通用数据交换编码,所以在php里也有方法把对象处理成json字符串。...大家可以试验,点击了按钮后,打印出了php中定义数组内容。php端两行代码,定义了一个数组,并用json_encode把数组做成一个json编码字符串输出。    ...----     好了,基本上把Jqueryajax操作简单地写了一遍,不知道大家有没有听懂,有没有觉得ajax的确是一个比较好工具。

8.7K20
  • AJAX 前端开发利器:实现网页动态更新核心技术

    AJAX - 发送请求服务器 XMLHttpRequest对象用于与服务器交换数据。...GET比POST更简单更快,并且在大多数情况下都可以使用。 但是,在以下情况下始终使用POST请求: 无法使用缓存文件(更新服务器上文件或数据库)。 向服务器发送大量数据POST没有大小限制)。...但是,如果输入字段不为,则执行以下操作: 创建一个 XMLHttpRequest 对象 创建在服务器响应就绪时要执行函数 将请求发送到服务器上 PHP 文件(gethint.php) 注意,添加了...q="+str str 变量保存输入字段内容 PHP 文件 - "gethint.php" PHP文件检查一个包含名字数组,并将相应名字返回给浏览器: <?..."getcustomer.php" 中源代码针对数据库运行一个查询,并以 HTML 表格形式返回结果: <?

    11100

    干货|某CMS漏洞总结

    {} 然后进入一个if分支语句,当IS_AJAX_POST时,则执行相关写入文件代码,否则则跳过写入文件,显示Cron添加页面,随即结束add()函数,IS_AJAX_POST定义为当收到post...然后通过php函数再解码 下面是一个方法,在WRITEPATH.'...post内容是否存在且为数组,不符合则将post内容置为数组,满足则遍历post内容,如果post内容里某个键值对value不存在或某个键值对value'name'keyvalue不存在...,可以发现对于数组key没有任何过滤,包括多维数组每一维度key,所以此处可以通过修改post内容中key来写入我们想要任意内容 以下是一个思路:把要写入文件或要执行代码,进行各种编码...html标记里,所以没有在前端打印出来,可以在网页源文件里找到: 3.迅睿CMS v4.5.4v4.5.6(目前最新版)文件上传漏洞 这个是别的师傅挖,第一次见到是在这个站https://www

    4.5K71

    代码审计| APPCMS SQL-XSS-CSRF-SHELL

    0x01 背景 由若水师傅提供一个素材,想要复现CNVD上披露一个APPCMS漏洞,由CNVD上描述可以知道存在漏洞地方是comment.php这个文件,然后就没有详细漏洞信息了,所以就需要分析相应源码文件找出存在漏洞点...$fields是由自定义方法function m__add()创建一个数组,再将$page数组中关键信息赋给$fields,而$page拥有所有POST和GET数据; 在 m__add()自定义方法中可控数据...$page['get'] = $_GET; //get参数 m 和 ajax 参数是默认占用一个用来执行动作函数,一个用来判断是否启用模板还是直接输出JSON格式数据 3....之所以得到如上结论,第一个,是在跟进single_insert方法时候,在改方法中将$fields数组值使用foreach进行组合后传入$sql中没有经过任何处理。 1....(2)打COOKIE平台 这里使用蓝莲花团队xss平台。 ? PAYLOAD构造: 这里对内容进行修改添加了两个请求,一个是创建文件请求,一个是为文件添加内容请求。 1.

    1.3K110

    Yii使用技巧大汇总

    ::exits();判断有没有这样记录,一般用于添加时,判断某字段有没有重复 CActiveDataProvider 一个基于ActiveRecord数据提供源 常用用法 ?...每一行代表一个数据项,一列通常代表数据一个属性 CGridView支持排序和分页,可以用ajax或普通方式 CgridView必序和data provider一起使用 最简单用法 ?...filter属性,如果是,那么生成一个textfield,如果是数组(键值),则生成一个dropDownlist在当前列上部,供搜索 2.2:如果class=>"CLinkColumn" 复制代码...accessController是CContronller内置filter,其调用 accessRules,得到验证规定,所以也要重写对应accessRules,返回一个验证规则数组成部分 if...前者可以通过把最后一个参数设置成true完成一样功能 addInCondition 不用考虑数组情况yii会自动处理 如何得到当前url?

    2.4K31

    Ajax清晰请求步骤与代码

    大家好,又见面了,是你们朋友全栈君。 异步请求ajax使用在前后台传递数据,优化用户体验起着至关重要角色,那么下面给大家简单罗列了一下ajax请求步骤与代码。...一、原生JS中Ajax: 1、使用ajax发送数据步骤 第一步:创建异步对象 var xhr = new XMLHttpRequest(); 第二步:设置 请求行 open(请求方式,请求url)...(如果有参数) xhr.send(null) xhr.send("username="+name); 第五步:让异步对象接收服务器响应数据 // 一个成功响应有两个条件:1.服务器成功响应了 2...$.ajax({ type:"get",// get或者post url:"abc.php",// 请求url地址 data:{},//请求参数 dataType:"json",//json...post(url,data,success,datatype):本质上只能发送post请求 $.get(url,data,success,datatype):本质上只能发送get请求 发布者:全栈程序员栈长

    50130

    启用WP Super Cache纯代码版本之后一些优化措施

    以上问题上一篇文章已有具体说明,下面是最新发现问题: ⑥、居然会缓存评论填表信息; ⑦、缓存清理不够方便; ⑧、缓存没有时间戳; ⑨、发布/更新文章未删除缓存,导致无法显示最新内容; ⑩、开启缓存之后...因此,需要置缓存内容中用户名、邮箱及网址,也就是一个最简单正则匹配过程,比如替换用户名: //搜索条件中只用了一个正则匹配,那就是value=".*" $contents = preg_replace...二、前台缓存清理 针对第⑦条 清理缓存不方便问题,今天写了一个 js+ajax+php 方法,可以在前台 ajax 删除缓存内容: ①、新增 JS+ajax 代码: <script type="text...三、加入缓存时间 针对第⑧条: 如果缓存页面<em>没有</em>时间戳,会让人分不清楚这个缓存页面是什么时候生成<em>的</em>,因为有时删除了缓存文件,在前台刷新看到<em>的</em>依然是缓存内容(nginx 通常会产生<em>一个</em> 304 <em>的</em>浏览器缓存...Ps:关于删除缓存<em>的</em>所有代码中(包括前面的 <em>ajax</em> 清理功能),若存在二级分类,那么分类缓存路径可能需要进一步修改一下,才会更准确,如果你不清楚,那么用上面的代码也<em>没有</em>任何问题!

    1.3K70

    【达达前端】Ajax实战项目源码讲解(快速入门实例)Github源码

    Ajax技术可以提高用户体验,无刷新与后台进行数据交互,异步操作方式,可以不用刷新页面提高性能。...创建项目: file 创建一个名为AjaxItem小项目 file 接下来附上代码 <!...file 添加一个服务端跳转页面reg.php,服务端要找到输入框值 提交表单方式:GET,POST 指定当前页编码 header("Content-type:text/html;charset...: file file post提交特点: file 上面截图可以看出传输数据区别,我们一般对于数据查询,尽量采用get方式,而我们要对数据修改,添加或者是删除,我们可以用post比较好一点。...username']; $sql = "select * from reg where username = '$username'"; $query = mysql_query($sql); // 如何区分查询还是没有查询

    1.7K00

    PHP使用反向Ajax技术实现在线客服系统详解

    一般用于“在线客服”、“消息推送”、“即时通信”等功能中,比如新浪微博私信功能,就是客户端不断请求服务器并创建连接,去查看服务器有没有返回信息,建立连接比较浪费服务器资源,下面将根据客户端创建连接不同性来介绍一下实现反向...2、长连接方式 这种方式始终只创建一个连接,而这个连接不断开,被称为长时连接,以此不断获取服务器推送数据,这种方式只创建一个连接,比第一种方法较好。 ?...页面中主要有一个div,用于显示聊天信息,还有一个隐藏iframe标签,这个iframe实现反向Ajax模型,用于发送长时连接,当服务器有数据时,服务器将调用comet()方法,此方法显示咨询内容,choose...()方法是选择咨询人,resp()是回复方法,在这里会向16-kefu-sendmsg.php页面发出ajax请求,向数据库插入一条回复信息,回复成功后并显示聊天窗口中。...当页面加载就发出一条ajax请求,如果该请求有数据返回,则显示聊天窗口中,延时1s后重新发送请求,如果点击咨询,就发出ajax请求将咨询内容写入数据库中。 <?

    1.6K41

    Ajax第一节

    我们现在通过ajax的确可以返回一些简单数据一个字符串), 但是在实际开发过程中,肯定会会设计大量复杂类型数据传输, 比如数组、对象等,但是每个编程语言语法都不一样。...为什么要使用模板引擎 我们通过ajax获取到数据后,需要把数据渲染页面,在学习模板引擎前,我们做法是大量拼接字符串,对于结构简单页面,这么做还行 但是如果页面结构很复杂,使用拼串的话代码可阅读性非常差...初始化一个数组,用户存储每一列高度 [0,0,0,0,0] //3. 查找数组最小列,每次都把图片定位最小列位置 //4....页面刚开始,没有任何一张图片。因此需要从通过ajax获取图片 //2. 使用模版引擎将获取到数据渲染页面 //3....加载时,显示加载中提示信息,并且要求不能重复发送ajax请求 //6. 当服务端返回图片数量为0时,提示用户没有更多数据

    3.9K20

    PHP文件上传操作

    上图为上传文件后 核心知识 - 文件上传操作基本步骤 1、构建基本表单,并针对表单进行相关处理 2、在“上传文件”数据发生变化时候,使用AJAX发送请求 3、PHP得到文件基本信息 4、PHP...){ // 当值发生变化,且不为时候,通过AJAX提交表单 if($.trim($(this).val()) !...) { } }); } }) 为上传文件input绑定change事件,监测值是否为,如果不为,则获取到要提交地址,进行数据提交。...第二个知识点,在于此处需要使用jquery.form.js插件辅助完成AJAX数据提交——ajaxSubmit方法。 PHP得到文件基本信息 <?...之后数据库连接就不再讲解了,如果还不是太清楚,可以查看《PHP数据相关操作》 在PHP当中,通过$_FILES这个超全局变量进行文件相关信息获取,使用$_FILES["file"]["name

    4.9K50

    php提交数据及json

    获取上传数据可以通过超全局数组:   如果上面的提交方式是:POST,则用 $_POST   如果上面的提交方式是:GET,则用 $_GET 如:用POST方式提交,在接收该表单php文件, $username...ajax简介:  使用ajax 通过后台服务器进行少量数据库交换,网页可以实现异步、局部更新 利用ajax也有这两种方式,但这两中有很大差别, 使用ajaxpost,在php echo东西返回到...) 使用ajaxget,在php 中 echo 东西会返回一个html页面直接在当前输出,可以用js直接跳转到当前php文件。...不过得注意路径后面的变量一定不要出错, 其实,它还是会把数据返回去到js提交那个ajax那儿 在这里,是jquery中ajax: get    提交: $(".look").bind("click...每个“名称”后跟一个“:”,“‘名称/值’对”之间使用“,”分隔。   2、数组是值(value)有序集合。一个数组以“[”开始,“]”结束。值之间使用“,”分隔。

    2.4K30

    用 JS 实现了识别网页验证码功能!

    4、记录处理后单个数字二值化数据,并人工录入真实数字。 5、重复训练。 6、识别时,用处理后图像与库中数据对比,取得最相近数据得到真实数字。...那么我们很容易就可以拿到图片数据:new 一个 Image,赋值 url 即可(直接 get img 元素也行)。...四、记录处理后单个数字二值化数据,并人工录入真实数字。 这里,图像处理就搞定了,后面的工作就比较简单了。我们把上一步得到数组和真实数字一起保存起来。这个过程可以有很多方法。...当时采取了大家一起录入方式,所以搭建了 PHP+MySQL 服务器,用数据库存储。这块就不详述了,大家各显神威。...六、识别时,用处理后图像与库中数据对比,取得最相近数据得到真实数字。 这块也比较简单。训练完成后,数据数据导出,保存成了一个数组,直接用 js 就可以读了。

    1.1K10

    用 JS 实现了识别网页验证码功能!

    4、记录处理后单个数字二值化数据,并人工录入真实数字。 5、重复训练。 6、识别时,用处理后图像与库中数据对比,取得最相近数据得到真实数字。...那么我们很容易就可以拿到图片数据:new 一个 Image,赋值 url 即可(直接 get img 元素也行)。...这里,图像处理就搞定了,后面的工作就比较简单了。我们把上一步得到数组和真实数字一起保存起来。这个过程可以有很多方法。...当时采取了大家一起录入方式,所以搭建了 PHP+MySQL 服务器,用数据库存储。这块就不详述了,大家各显神威。...六、识别时,用处理后图像与库中数据对比,取得最相近数据得到真实数字。 这块也比较简单。训练完成后,数据数据导出,保存成了一个数组,直接用 js 就可以读了。

    1.8K30

    php增删改查实例】第十二节 - 数据删除功能2、批量删除

    1、单条数据删除 思路:首先,需要也只能允许用户勾选一条数据,然后弹出一个确认框,问用户是否真的要删除?如果是,就把ID传递PHP,然后写一个delete语句,通过ID去删除即可。...){ //获取这条数据ID var id = rows[0].id; //通过jQuery给我们提供ajax异步提交函数,把ID传递后台...ajax去提交请求,比如,这个例子中,我们提交地址就是deleteDept.php 。...压根不去关心你后端如何实现,这是做后台程序同事该烦恼事情,只关心,如何去处理你给我返回数据。...比如,现在勾选了两条数据,就把这两条数据ID用逗号拼接方式,变成一个字符串,如:“20,30”。把这个玩意用ajax提交到PHP。然后,PHP中,用sql语句,进行删除。

    1.3K60
    领券