2013-04-18 48 views
0

我有一个ajax调用,将数据传递给另一个php文件createTest2.php,如下所示。AJAX调用成功但抛出未定义的索引错误

但createTest2.php文件会抛出错误

“通知:未定义指数:AAA在C:\ XAMPP \ htdocs中\ TestProj \测试\ createTest2.php第2行

caller.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']; 
+0

上similiar问题,对于同样的问题,每个人都使用'aaa'为参数....大声笑。 – itachi

回答

1

给数据属性,

变化

data:{aaa : "UNIT_TEST"}, 

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

考虑到它是一个对象,*真* *应该无关紧要,并且对象键不必用引号包裹,除非它们包含空格或运算符。 –

+0

更改了它。仍是同样的问题。 – Jithu

0

尝试作为一个数据查询(使用参数去对象转换为数据查询)

$(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"); 
     } 
    }); 
}); 
}); 
+0

已更改。仍是同样的问题。 – Jithu

3

送你的代码/脚本没有错。我在我的本地主机上试过它,它的工作原理。

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

删除它使用这些上的PHP代码顶部您createTest2.php: (之前你叫什么,只是第一个PHP开始标签后)

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

注意到,它仅仅是一个NOTICE,而不是一个ERROR如你的问题所示。 希望有所帮助。 ;)

**更新:有人说,建议以固定的通知,而不是仅仅隐藏它们,只是让你知道..