0

我有这个小而烦人的问题。我真的不习惯用web 的东西。我尝试使用 ajax jquery 请求我的 php 文件。当我想检索从 ajax 发送的数据时,它返回未定义的索引。我不知道是什么问题,这让我花了很多时间来解决它。谢谢

下面是我的ajax代码

var at=this.name.substring(this.name.length,7);
var value_header = $("#key"+at).val();
var jsObj = { new_value:value_header, id:at, data:'header'};
console.log(JSON.stringify(jsObj));
$.ajax({
  type: 'POST',
  headers: 'application/urlformencoded',
  url: 'admin_crud.php',
  data: jsObj,
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(data){
  console.log("Sukses");
}

当我在我的 php 文件中调用以下代码时,结果是“未定义的索引:数据”

echo $_POST['data'];

//编辑所以,当我尝试 var_dump($_POST); 时,结果是 array(0) {}。我的错误在哪里?我以为我发送了正确的//编辑

正如我上面提到的,我希望它能够完美运行而不会出错。谢谢

4

2 回答 2

0

删除headers,将您的更改datatypetextcatch errorsajax call

$.ajax({
    type: "POST",
    dataType: "text",
    data: jsObj,
    url: "admin_crud.php",

    success: function (result) {
        console.log("success", result);
    },

    error: function (e) {
        console.log("Unsuccessful:", e);
    }
});
于 2019-06-10T16:01:49.707 回答
0

除了@Marco Sanchez,我还有另一个解决方案,我不知道它是否总是有效,但就我而言,它有效:

$.ajax({
  type: 'POST',
  url: 'admin_crud.php',
  headers: "Content-type: application/x-www-form-urlencoded"
  data: "new_value="+value_header+"&id="+at+"&data=header",
  success: function(data){
     console.log("Sukses");
     console.log(data);
  }
});
于 2019-06-10T16:08:48.483 回答