ajax传给php的值为空,php 获取$_post数据为空

发布时间:2022-11-20

本文目录一览:

  1. php怎么接收jquery ajax传来的值,为什么我接过来的值为空?
  2. AJAX提交的xml用php读取时$HTTP_RAW_GET_DATA为空,phP.INI相关项已设置
  3. ajax传参数 php接收到总是空???
  4. 用js自写ajax提交表单数据到php,但是php的$_POST为空?
  5. ajax传值php页面接收处理为json 有值 但返回为null 求解
  6. PHP接收ajax传的数据为空,是怎么回事?

php怎么接收jquery ajax传来的值,为什么我接过来的值为空?

接收ajax的值用不着区别什么语言。ajax就是指的在前台调用后台的数据。在前台通过js脚本就可以调用后台的数据了。一般jquery调用ajax的话会有以下的方法:

  • $(selector).load(url,data,callback) 把远程数据加载到被选的元素中
  • $.ajax(options) 把远程数据加载到 XMLHttpRequest 对象中
  • $.get(url,data,callback,type) 使用 HTTP GET 来加载远程数据
  • $.post(url,data,callback,type) 使用 HTTP POST 来加载远程数据
  • $.getJSON(url,data,callback) 使用 HTTP GET 来加载远程 JSON 数据
  • $.getScript(url,callback) 加载并执行远程的 JavaScript 文件 你在php中可以使用以上的js方法来接受值。如果接受不到的话可能你的文件路径有问题。或者是脚本本身有问题。

AJAX提交的xml用php读取时$HTTP_RAW_GET_DATA为空,phP.INI相关项已设置

在这里说一种找到错误的方法,而不是这个错误的解决方法。 相信对你更有用。 调试程序方法:

  1. 确定某段程序是否运行(这很重要),加一小段代码做个标记。 例: 想知道一个循环运行几次,加$xunhuan++;echo $xunhuan; 例: 想知道一个函数是否被运行,直接加echo 'fun9被运行了.'; 你这个题有点特殊.就输出一个文件做判断吧, $h=fopen('1.txt','a+');alert("1处运行了"); 如果有1.txt就是被运行了。
  2. 观察一个变量的值对不对,输出
    1. echo输出
    2. 输出到数据库
    3. 输出到文件,fwrite("$myvar",$h);这个函数可能用错了,你找手册吧 你这个题要用3。
  3. 做空的判断
  4. 做简单模拟,把大段程序中的一小块提出来,做成一个文件运行
  5. 能正确运行了,也要模拟各种情况
  6. ajax.htm
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
    <html xmlns="">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    </head>
    <body>
    <script language="javascript">
    function post(xmldoc,action) {
        //Mozilla 浏览器
        //xmlhttp = new XMLHttpRequest();
        // var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        var xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
        xmlhttp.Open("post",action,false);
        xmlhttp.Send(xmldoc);
        if (xmlhttp.status=="200") {
            // alert("保存成功");
            //alert(xmlhttp.responseText);
            return xmlhttp.responseText;
        }
        else return false;
    }
    //上面定义函数,下面运行函数
    var re;
    re=post("1234","post.php?id=2");
    alert(re);
    </script>
    </body>
    </html>
    
    post.php
    <?php
    $str = $HTTP_RAW_POST_DATA;
    $id = $_GET['id'];
    echo $str;
    $h = fopen('1.txt','a+');
    fwrite($h, $str.$id."\r\n");
    ?>
    

ajax传参数 php接收到总是空???

可以考虑使用js转值给iframe的方法。 如:

<iframe src="AddMes.php" id="addFrame" scrolling="yes"></iframe>
var la = document.getElementById("save");
document.getElementById("addFrame").src = "AddMes.php?namesave=" + la.value;

这样就可以转给 AddMes.php。 你就算用ajax。 AddMes.php也要刷新。

用js自写ajax提交表单数据到php,但是php的$_POST为空?

注意到的RequestMethodUndefined,这个地方应该是POST。 可以:

  1. 把AJAX提交的方式设置为post
  2. 最好把表单的method设为postmethod="post"

ajax传值php页面接收处理为json 有值 但返回为null 求解

首先://dataType:"json",为何注释掉? 其次,返回来的是对象,alert出来 可能显示[object],此表示有值。 可用 data.key取出值,key表示$rs数组键名。 第三,若dataType:"json" 后返回的仍然是null,则说明你可能正在使用跨域请求。 跨域请求请用AJAX的JSONP方式,请改为如下: JS:

$.ajax({
    url:"__URL__/liandong",
    dataType:'jsonp',
    data:'callback=jsoncallbackaid='+aid,
    jsonp:'jsoncallback',
    timeout:3000
});

//回调函数

function jsoncallback(json){
    alert(json.key); // key表示$rs数组键名
}

PHP:

return $_POST['callback']."(". json_encode($rs).")";

PHP接收ajax传的数据为空,是怎么回事?

在函数里面$this代表的是函数本身,而不是你的元素哈。 你得使用$('.supp....').attr('data-id')获取。