$ .ajax帖子无法正常工作

时间:2014-08-19 03:50:55

标签: php jquery ajax

我正在尝试使用以下代码使用jQuery执行AJAX请求:

$.ajax({
    type: 'POST',
    url: './ajax/mostra_duv.php',
    data: 'pag=1&teste=deu',
    cache: false,
    contentType: false,
    processData: false
})
.done(function(data) {
    if(data!='')
    {
        $("#resumoduvida").html(data);
    }
    else
    {
        $("#resumoduvida").html('<p>Desculpe, houve um problema na conexão ao servidor. Tente novamente</p>');
    }
})
.fail(function() {
    $("#resumoduvida").html('<p>Desculpe, houve um problema na conexão ao servidor. Tente novamente</p>');
});

然后,mostra_duv.php只是调用print_r($_POST);导致一个空数组......

我希望$_POST['pag']$_POST['teste']获得与请求相对应的值(分别为1和&#39; deu&#39;)。

任何帮助表示赞赏!谢谢!

3 个答案:

答案 0 :(得分:1)

简单的代码来处理这一点。

$.ajax({
    type: 'POST',
    url: 'pageToYourScript.php',
    data: {page: 1, test: 'test'},
    success: function(data){
        console.log(data);
    },
    error: function(jqXHR){
        console.log(jqXHR);
    }
});

更改值,并处理返回的数据或错误(如果有)。

答案 1 :(得分:0)

我认为使用.post() function

会更简单
$.post('./ajax/mostra_duv.php', { 'pag': 1, 'teste': 'deu' })
.done(function(data) {
    if(data!='')
    {
        $("#resumoduvida").html(data);
    }
    else
    {
        $("#resumoduvida").html('<p>Desculpe, houve um problema na conexão ao servidor. Tente novamente</p>');
    }
})
.fail(function() {
    $("#resumoduvida").html('<p>Desculpe, houve um problema na conexão ao servidor. Tente novamente</p>');
});

您也可能会发现load()也有效。

根据您的上次评论

除非您只打算支持实现(以前称为)XMLHttpRequest Level 2的浏览器,否则您无法通过Ajax上传文件。有插件可以帮助你;我个人最喜欢的是Mike Alsup的Form插件(因为它还添加了其他辅助函数):http://malsup.com/jquery/form/#file-upload

答案 2 :(得分:-1)

您收到的数据是什么?

我认为你错过了dataType: "html" 在ajax里面。

$.ajax({
    type: 'GET',
    dataType: 'html',
    url: './ajax/mostra_duv.php',
    data: 'pag=1&teste=deu',
    cache: false,
    contentType: false,
    processData: false
})