繁体   English   中英

Jquery ajax不发送数据

[英]Jquery ajax is not sending data

由于某种原因,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;
    });
});

你可以尝试这种方法

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM