首页 > 解决方案 > AJAX Post 错误,例如没有 $_POST 变量

问题描述

我正在开发一个网站的一部分,将文本区域的内容和输入文本的内容上传到远程数据库,但我在 AJAX 请求中遇到问题......

我的 JavaScript:

function pubblica(pubblicato){
  htmlpuro = document.getElementById("htmlpuro").value;
  oggetto = document.getElementById("oggetto").value;

  $.ajax({
    type: "POST",
    url: "salva_doc_ajax.php",
    data: "oggetto="+oggetto+"&html="+htmlpuro+"&pubblicato=0",
    dataType: "html",

    //Inizio visualizzazione errori
    success: function(msg)
    {
      alert(msg);
    },
    error: function()
    {
      alert("Chiamata fallita, si prega di riprovare...");
    }
  });
}

我的 salva_doc_ajax.php:

<?php

if(isset($_POST['name']) && isset($_POST['html']) && isset($_POST['pubblicato'])){
  $oggetto = $_POST['oggetto'];
  $html = $_POST['html'];
  $pubblicato = $_POST['pubblicato'];
  $oggetto = addslashes(htmlentities($oggetto));
  $html = addslashes(htmlentities($html));

    echo "Oggetto: $oggetto";
    echo "<br>HTML: $html";
    echo "<br>Pubblicato: $pubblicato";
}else{

    echo "Errore";

}
?>

我已经在'htmlpure'和'oggetto'中测试过有数据......每次我运行这个js函数时,我都会从php页面得到“Errore”,就像我不发送$_POST变量一样......

标签: javascriptphpajaxpost

解决方案


我相信在 ajax POST 中,您的数据应该是一个对象。您正在为 GET 请求发送查询字符串。

此外,正如@Kaddath 所说,您的帖子中没有名字。

通过将此行添加到最顶部salva_doc_ajax.php并将其与您认为您得到的内容进行比较,看看您得到了什么:

die(print_r($_POST));


推荐阅读