【问题标题】:PHP doesn't receive $_POSTPHP 没有收到 $_POST
【发布时间】:2013-05-04 18:39:44
【问题描述】:

我的 PHP 有问题,我正在用 jquery 做一个 ajax 帖子。 问题:我的 PHP 没有收到任何 POST,使用 GET 没有问题。 我正在使用最后一个 jquery 版本。 Ajax 没有抛出任何错误,我尝试了 error:function(...) 和 console.log。

idCat 是一个数字,例如:3 $nuevaFila 和其他未声明的变量是先前声明的,它们不具有建设性。

PHP 很好地返回了 HTML,因为我尝试了任何 html 并且我收到了它 ok

ajax代码就是这个:

$.ajax({
    cache:false,
    type:'post',
    url:'admin/categoria_ajax_ad',
    data: {id: idCat},
    success: function(htmlFila) {       
        var nFila=$cFilas.find(".fila").size()+1;
        $nuevaFila.html(htmlFila);
        $nuevaFila.appendTo($cFilas);
    },
});

【问题讨论】:

  • 您可以使用开发工具(在 FF、Chrome、Safari 等中)检查请求吗?请求是否已发送?
  • 无法复制。确保 idCat 已设置且 url 正确。
  • 你在$nuevaFila收到了什么?
  • URL 是正确的,因为如果我写在 PHP echo 'blablabla' 我会收到它。
  • 如果你在alert(idCat) 之前$.ajax 你看到了什么?

标签: php jquery ajax post


【解决方案1】:

尝试使用 dataType (xml, json, script, or html) 根据您的返回数据类型设置参数 -

$.ajax({
cache:false,
type:'post',
url:'admin/categoria_ajax_ad',
data: {id: idCat},
dataType : "string"
success: function(htmlFila) {       
    var nFila=$cFilas.find(".fila").size()+1;
    $nuevaFila.html(htmlFila);
    $nuevaFila.appendTo($cFilas);
    },
});

【讨论】:

  • ajax函数没有问题,如果我把type:post换成type:get就可以了,问题不在于
  • dataType 是您期望从服务器返回的数据类型,如果未指定,jQuery 将尝试根据响应的 MIME 类型推断它。有时它无法推断并返回 null。
猜你喜欢
  • 1970-01-01
  • 2021-10-31
  • 2012-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多