【问题标题】:Ajax not sending all of the data, only someAjax 没有发送所有数据,只有一些
【发布时间】:2018-03-20 22:20:37
【问题描述】:

我真的不知道为什么这不起作用。 data1 和 data2 将被发送到我的 php 表单,但无论我将它设置为什么,data3 都不会。谁能指出我可能忽略的问题。

    function flap(span) {
    var id1 = span.getAttribute('data-id1');
    var id2 = span.getAttribute('data-id2');
        var lop = id2.slice(8, 1000);
        var lip = id2.slice(0, 8);
        var str = lop;
        var n = str.lastIndexOf("/");
        var res = str.slice(0, n);
        var mac = res;
        var red = mac.lastIndexOf("/");
        var rem = red+1;
        var ret = mac.slice(rem, 1000);
        var slap = ret;
     $.ajax({
        url:'controlmysite/userfiles.php',
        type:'POST',
        data:{
            data1: id1, data3: slap, data2: lip + res,
        },
          success: function(filesDirectory1){
           $('#filesDirectory').html(filesDirectory1);
    }});}

我将 data3 更改为许多不同的东西;我什至将其设置为 id1、lip、res 和 ret。我用 data1 和 data2 交换了位置,但由于某种原因 data3 根本不会发送。请有人指出我显然忽略了什么。感谢您的帮助。

【问题讨论】:

  • 您如何确定它没有发送?您如何确定它具有价值?
  • 设置数据类型:'json'
  • @Sheepherder 你能记录变量 slap 并检查它的值吗?
  • 如果您使用的是chrome,请转到inspect->network->点击您的ajax发送的请求并查看响应,您可以看到响应

标签: php jquery ajax


【解决方案1】:

问题可能来自“data3”的大小太大
尝试在 'php.ini' 文件中为 "max_input_vars""post_max_size" 赋予较大的值,或者在 php 脚本的 bigenning 中定义它" controlmysite/userfiles.php"

ini_set('max_input_vars',100000);
ini_set('post_max_size','20M');

你可以查看这个帖子increasing-the-maximum-post-size

【讨论】:

    【解决方案2】:

    (已解决)这是已接受的答案。我没有足够的代表来检查答案:)

    感谢大家的意见。 问题是由单独的 ajax 函数调用造成的。 我必须将以下内容添加到我的 php 文件中。

           if(isset($_POST['data1']) && isset($_POST['data2']) && isset($_POST['data7'])) {
        $updir = $_POST['data2']; echo $updir."<br>";
        $id1 = $_POST['data1'];
        $id7 = $_POST['data7'];
        $id8 = $_POST['data8'];
           if(isset($_POST['data3'])) {$id3 = $_POST['data3'];}
        echo "<span id='".$updir."' title='".$id1." directory' class='point mud' value='".$updir."' onclick='flap(this)' data-id2='".$updir."'>
        <i class='fa fa-folder-open-o' style='color:blue'></i>&nbsp";
           if(isset($_POST['data3'])) { echo $id3;} else { echo $id7;}; echo "</span><br><br>";
        The rest of php...}
    

    我的 controlmysite/userfiles.php 正在接收 2 个单独的 ajax 函数帖子,并且 $id7 覆盖了 $id3。两个额外的if(isset()) 解决了冲突。

    我知道这个问题是我自己的 PHP 站点错误,但会在此处留下问题和答案以供参考,以防其他人像我在编码时一样有“脑放屁”。 感谢大家的宝贵时间,祝您有美好的一天。

    【讨论】:

      猜你喜欢
      • 2015-05-30
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 1970-01-01
      • 2014-01-23
      • 2016-10-17
      • 1970-01-01
      • 2021-02-07
      相关资源
      最近更新 更多