【问题标题】:AJAX call success but throws Undefined index errorAJAX 调用成功但抛出未定义索引错误
【发布时间】:2013-04-18 14:47:40
【问题描述】:

我有一个 ajax 调用将数据传递到另一个 php 文件 createTest2.php,如下所示。

但是 createTest2.php 文件抛出错误

“注意:未定义索引:第 2 行 C:\xampp\htdocs\TestProj\Test\createTest2.php 中的 aaa

调用者.php

$(document).ready(function(){
    $("#button_submit").click(function() 
  {

    $.ajax({
      type:"POST",
      url:"createTest2.php",
      data:{aaa : "UNIT_TEST"},
      success:function()
      {
        alert("success");
      }
    });
 });
});

createTest2.php

$test_name = $_POST['aaa'];

【问题讨论】:

  • 类似的问题,同样的问题,大家都用aaa作为参数……哈哈。

标签: php javascript jquery ajax google-api


【解决方案1】:

您的代码/脚本没有任何问题。我在我的本地主机上尝试过,它可以工作。

确保错误报告配置正确,因为它正在打印通知 这也将传递给您的 ajax 结果。

要删除它,请在 createTest2.php 的 php 代码之上使用这些: (在你调用任何东西之前,就在第一个 php 开始标签之后)

<?php
ini_set("DISPLAY_ERRORS",0);
error_reporting(0);

请注意,它只是NOTICE 而不是ERROR,如您的问题所示。 希望有帮助。 ;)

** 更新:有人说建议修复通知而不是仅仅隐藏它们,这样你就知道了..

【讨论】:

    【解决方案2】:

    在引号中给出数据属性,

    改变

     data:{aaa : "UNIT_TEST"},
    

    data:{"aaa" : "UNIT_TEST"},
    

    【讨论】:

    • 考虑到它是一个对象,真的应该没关系,并且对象键不必用引号引起来,除非它们包含空格或运算符。
    • 已更改。还是一样的问题。
    【解决方案3】:

    尝试发送是作为数据查询(使用参数将对象转换为数据查询)

    $(document).ready(function(){
        $("#button_submit").click(function() 
      {
        var params = $.param({aaa : "UNIT_TEST"});
    
        $.ajax({
          type:"POST",
          url:"createTest2.php",
          data: params,
          success:function()
          {
            alert("success");
          }
        });
     });
    });
    

    【讨论】:

    • 已更改。还是一样的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-12
    • 2018-07-09
    • 1970-01-01
    • 2018-09-14
    • 2021-02-09
    • 2014-06-01
    • 2023-03-17
    相关资源
    最近更新 更多