【问题标题】:not returning ajax data with php [closed]不使用php返回ajax数据[关闭]
【发布时间】:2014-10-25 03:55:17
【问题描述】:

我正在尝试访问通过 ajax 发送的数据并且我正在返回我的 echo 语句,但不是我传递的内容,我做错了什么?

$.ajax({
  url: 'http://www.example.php',
  data : { 'foo' : 'bar', 'bar2' : 'foo2' },
  processData: false,
  contentType: false,
  type: 'POST',
  success: function(data){
    console.log('success data '+data);
  }
});

 $data = $_POST['foo'];
 $data2 = $_POST['bar2'];
echo('almost');
echo($data);
echo($data2);
echo('almost');

控制台几乎读取成功数据

【问题讨论】:

  • echo 是一种语言结构,而不是函数。

标签: php jquery ajax


【解决方案1】:

您的 ajax 请求不正确,您告诉 jQuery.ajax 不要处理您的数据并按原样发送,这是行不通的

$.ajax({
  url: 'http://www.example.php',
  data : { 'foo' : 'bar', 'bar2' : 'foo2' },
  type: 'POST',
  success: function(data){
    console.log('success data '+data);
  }
});

您的服务器端脚本需要 application/x-www-form-urlencoded 内容类型,这是 jQuery.ajax 默认执行的操作,但如果您告诉它不要处理数据或设置内容类型,则不会。

【讨论】:

  • 文件上传使用multipart/form-data 而不是application/x-www-form-urlencoded。如果您想使用 ajax 上传文件,则必须使用 FormData 对象,并关闭流程数据和内容类型。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-31
  • 1970-01-01
  • 2014-10-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多