Jquery AJAX POST没有向PHP传递任何内容

我在使用带有 AJAX. Jquery的POST方法传递变量时遇到问题

这是我的代码

ajaxtest.PHP

<?PHP 
  $dir = $_POST['dir'];
  $scaned = glob($dir."*",GLOB_ONLYDIR);    
  echo json_encode($scaned);
?>

ajaxtest.html

<html>
<head>

<script type="text/javascript" src="js/jquery.js"></script>

</head>
<script>

$(document).ready(function(){
$('button[type="button"]').click(function(){
    var dir = 'gals/';
    $.ajax({
        url: "ajaxtest.PHP",type: "POST",data: dir,success: function(results){
            data = jQuery.parseJSON(results);
            for (var i = 0; i < data.length ; i++) {
                $('#buttonA').after('<br />'+data[i]+'<br />'); 
            };

        }
    })
})

})
</script>
<body>
<br />
<button id="buttonA" type="button">Test button</button>

</body>
</html>

这段代码不起作用.

但是这个人做了:(但不是和json一起)

$.post("ajaxtest.PHP",{dir:dir},function(results){
        var data = $.parseJSON(results);
        for (var i = 0; i < data.length ; i++) {
            $('#buttonA').after('<br />'+data[i]+'<br />'); 
        }
    })

为什么这样?!
我的代码有什么问题?请指教!
非常感谢.

解决方法

数据应具有以下格式:
data: {
    'dir': dir
}

它不适用于json,因为成功参数名称错误的.这不是根据回调中的代码.
将其从结果更改为数据.

var dir = 'gals/';
$.ajax({
    url: "ajaxtest.PHP",data: {'dir': dir},success: function(data){
        data = jQuery.parseJSON(data);
        for (var i = 0; i < data.length ; i++) {
            $('#buttonA').after('<br />'+data[i]+'<br />'); 
        };

    }
});

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...