Jquery ajax不发送数据

时间:2011-10-11 14:53:35

标签: php jquery

由于某种原因,ajax没有发送数据。

在PHP上我有这段代码:

if (isset($_POST['submit'])) { 
    echo "submit";
} else {
    echo "not submit";
}

我没有提交。 这是JS代码:

$(function () {
    $('#submit').click(function () {
        var length = $('#number').val();
        var small = $('#small').val();
        var big = $('#big').val();
        var number = $('#numero').val();
        var special = $('#special').val();
        var submit = 'submit';
        var url = 'public/php/codegenerator.php';
        var data = "length=" + length + "&small=" + small + "&big=" + big +
                   "&number=" + number + "&special=" + special + "&submit=" + submit;

        $.ajax({
            type: "POST",
            url: url,
            data: data,
            success: function () {
                $('#code').load(url, function () {
                    $(this).fadeIn(1000)
                });
            }
        });
        return false;
    });
});

2 个答案:

答案 0 :(得分:2)

您可以尝试这种方法

$(function(){
    $('#submit').click(function(){
        //YOUR CODE

       var param = {
            length:length,
            small:small,
            big:big,
            number:number,
            special:special,
            submit:submit
        }

         $.ajax({
            type: "POST",
            url: url,
            data: param,   

            //EDITED LINE     
            success: function (data) {
                $('#code').hide().html(data).fadeIn(1000);
            }               
        });       
        return false;
    });               
});

//已经修改过的答案

//在你的PHP文件中

if (isset ($_POST['submit'])) { 
    echo json_encode(array('result'=>"submit"));
}
else {
    echo json_encode(array('result'=>"not submit"));
}

//在您的JQUERY CODE中

$.ajax({
    type: "post",
    url: url,
    data: param, 
    dataType:'json';  

    //EDITED LINE     
    success: function (data) {
        // alert(data.result);
        $('#code').hide().html(data.result).fadeIn(1000);
    }               
});

答案 1 :(得分:0)

您收到Not submit,因为它来自.load()调用,而不是来自.ajax - 并且在加载调用中您只需加载URL而不传递任何POST数据。那么为什么你在.ajax的成功回调中使用相同的url运行.load?