【问题标题】:Ajax POST sending back empty responseAjax POST 发回空响应
【发布时间】:2016-09-19 18:45:46
【问题描述】:

我在使用 Ajax 和 POST 时遇到问题,因为它无法正常工作,发送一个空响应,我正在处理文本(不是 Json)数据。

这是javascript代码:

$.ajax({
    type: "POST",
    url: "php/bddAlumnoElements.php",
    data: "methodo=setLecturas,idLectura="+CurrentLecture,
    async: true,
    success: function(response) {
        alert(response);
    },
    cache: false,
    contentType: false,
    processData: false
});
return false;

这是我正在使用的简单 php 代码

if(isset($_POST['methodo'])){
    echo "blah!";       
}

我也试过这样的php代码

if(isset($_POST['methodo'])=="setLecturas"){
    $message= "blah!";      
}

响应警报总是空白,所以我不知道发生了什么,有什么建议吗?

【问题讨论】:

  • 您的data: 值不是查询字符串,您不需要将async 指定为true,这是默认值。还有任何理由使用processData:falsecontentType:false?将这些设置为 false 通常意味着您正在使用类似 FormData 的对象作为 data:,它不应该由 jQuery 处理。阅读api reference 了解每个选项的作用
  • 我不知道 processData 和 contentType 只是 FormData,删除那些实际上解决了我的问题,非常感谢!

标签: javascript php ajax post


【解决方案1】:

在此处将, 更改为&

   data: "methodo=setLecturas&idLectura="+CurrentLecture,

参数用符号& 分隔,而不是用逗号, 分隔,所以methodo 值变成了不需要的逗号连接。

【讨论】:

  • 谢谢,这实际上是它不能完全工作的另一个原因。
猜你喜欢
  • 2013-05-03
  • 1970-01-01
  • 2018-09-09
  • 2021-09-09
  • 2013-03-22
  • 2015-07-01
  • 2018-06-08
  • 2013-01-20
  • 1970-01-01
相关资源
最近更新 更多