2 ychw0776 ychw0776 于 2017.09.05 19:48 提问

PHP ajax post请求接受不到服务器的数据
 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script>
        window.onload = function(){
            document.getElementById('btn').onclick = function(){
                var req = new XMLHttpRequest();
                var username = document.getElementById('username');
                var name = decodeURIComponent(username.value);
                req.open('post','ajaxr.php?username='+name);
                req.onreadystatechange = function(){
                    if(req.readyState == 4 && req.status == 200){
                        alert(req.responseText);
                    }
                }
                req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
                req.send('name='+name);
            }

        }
    </script>
</head>
<body>
<input type="text" id="username">
<input type="button" id="btn" value="click">
</body>
</html>
 <?php
var_dump($_POST);

图片说明

5个回答

showbo
showbo   Ds   Rxr 2017.09.06 09:46

没问题啊,你确认是这些代码?
图片说明

caozhy
caozhy   Ds   Rxr 2017.09.06 09:09

XMLHttpRequest,这个只有ie有效,你应该用jquery,手工写ajax需要考虑不同浏览器的兼容问题

sunny_desmond
sunny_desmond   Rxr 2017.09.07 14:06

尝试用一下jquery,axios等等插件呢,手写的话,兼容性总归有些不是很好的~

xiaogei123
xiaogei123   2017.09.12 14:06

用jquery吧,方便开发,而且兼容性也好

caihuan19890113
caihuan19890113   2017.10.25 11:08

同意楼上的,一般也都是用的jquery+ajax,

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Post提交大数据量,接收端接收不到数据的解决方法
相信很多人都知道post提交是不限制提交的数据量大小的,这是事实。但是,在实际的开发中还是会遇到post提交大数据量,接收端接收不到的问题。最近我就遇到了这么一个问题,折腾了好久最后没办法,于是求救老大,老大稍微点拨一下,就发现了问题所在,后来通过查询资料,才搞明白原因所在。好吧,先说下原因:post提交本身提交的数据量是不限制大小的,但是会受限于接收数据的服务器的配置影响,更具体点,如果使用的是
ajax提交数据到后台php接收
在网上看了很久,发现数据的利用ajax提交数据到后台其实很简单,但是很多讲解的并不清楚,对于初学者来说,很多真的是看着有点糊涂,拿来直接用,又想去了解怎么回事,其实利用ajax提交数据到后台是非常的简单的。 $.ajax({ type: "POST", url: "register.php", data: "name=John&location=Boston",
使用ajax 进行post提交json数据到后台php,但是后台php收不到数据。
当 contentType 为 application/x-www-form-urlencoded 时(默认值)才能用 $_POST 得到传入的数据。但是使用application/json;charset=utf-8不是 php 所能识别的类型声明,不能替你解析。所以只能用 php://input 取得,并用 parse_str 自行解析而形如 a=1&amp;amp;b=2&amp;amp;c=3 这样的数据...
ajax异步提交数据接收不到一般都是什么原因以及解决方案
最近在做公司项目,遇到一个很纳闷的问题,老夫久经码场,却由于自己的一个疏忽,让老夫郁闷了好几天,还影响的公司项目的进度,下面就给大家分享自己犯二的经历,让各位别和我一样犯二 今天我们主要讨论ajax异步提交数据的那些怪事! 个人总结一下我的个人工作经验,不一定对,各位仅供参考哈! ajax异步提交的数据一般接收不到的原因主要有以下几种: ①:js里面的ajax代码的提交方式
php 无法接收post数据
给java提供接口,接收java post信息,php一直是空数据。看nginx日志发现java确实有post数据。于是写了两个程序测试,发现php $_POST需要有key才能接收到数据。java 客户端例子:import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; im
解决PHP无法通过$_POST接收到AngularJS的post数据的解决方法
在使用AngularJS $http.post()的时候,PHP如果通过$_POST来获取值,那么它获取到的将会是空值。而如果是用jquery来进行post传递,却不会这个问题。这是为什么呢?这是因为两者的post对header的处理有所不同。jQuery会把作为JSON对象的myData序列化,而AngularJS不会,所以PHP无法接受到这个值。而解决这个问题的方式有三种:   第一种:
【小程序】POST请求服务器接收不到参数
title: 【小程序】POST请求服务器接收不到参数 type: categories date: 2017-05-03 10:27:25 categories: 小程序tags: POST请求服务器接收不到参数的坑 设置header如下header: { "Content-Type": "application/x-www-form-urlencoded" }
$.post异步引起的接收不到返回数据包
背景:公司微信公众号项目,前端调用php接口,使用的是$.post,抓包显示php接口返回数据正常,而js获取不到返回数据包。 代码: $.post(window.config.root+"/wx/pgash/page/share", {url:location.href.split('#')[0]}, function (res) {}) 看上去貌似没什么问题,但实际上不能接收到callb
php curl post 短信接口那边接收不到数据
昨天遇到一个很奇怪的问题,用的curl post发送数据到短信接口那边的时候总是报错,空指针异常,后来我本地测试,用$_POST可以接收到数据 function curl_post($uri,$data){ $ch = curl_init (); curl_setopt ( $ch, CURLOPT_URL, $uri ); curl_setopt ( $ch, CURLOPT_POST,
微信小程序post请求服务器端无法获取的解答
$_POST 只能接收 Content-Type 为 application/x-www-form-urlencoded 和 multipart/form-data 的 POST 数据。 如果你要用 $_POST 的话,你就改一下这里: header: { 'Content-Type': 'application/json' } 把