PHP的回声返回失败到jQuery

时间:2019-05-27 18:24:59

标签: php jquery

下面是将表单数据传递到php文件的jQuery代码。我正在使用一个非常简单的文件进行测试。 jQuery代码返回成功和失败消息,但是失败消息是触发的消息。看来问题出在php文件或数据编码中。

这是php文件echo_test.php:

<?php
  $str = "Hello world!";
  echo $str;
?>

这是将html表单数据发送到php文件的jQuery代码:

<form>
  <!-- form fields omitted for brevity -->
  <div class="btn_div">
    <button href="google.com" class="btn_joinnow" id="btn_submit"   style="color:rgb(255,255,255)">Click to submit data</button>
  </div>
</form>
$("#btn_submit").on("click", function(event) {
  event.preventDefault();
  var datastring = JSON.stringify({
    title: 'foo',
    body: 'bar',
    userId: 1
  });
  console.log("Okay, I'm starting");

  return $.ajax({
    type: "POST",
    url: "echo_test.php",
    data: { post: datastring },
    success: function (response) {
      console.log(response);
    },
    error: function (error) {
      console.log("Okay, I failed" + error);
    }
  });
});

(数据[ title: 'foo', body: 'bar', userId: 1 ]只是占位符。)

开发者控制台报告:Okay, I failed[object Object],所以它不起作用。

开发者控制台还说:

  

XML解析错误:找不到根元素位置:(文件位置)第4行,第1列:

是jQuery还是PHP问题?

感谢任何想法。

2 个答案:

答案 0 :(得分:0)

该错误表示预期的响应为XML,但很可能为空。尝试将“ URL”更改为"/echo_test.php",然后尝试通过浏览器打开该URL以查看内容

答案 1 :(得分:0)

您需要一个HTTP服务器,该服务器处理PHP代码并回答对HTTP请求的响应。由于某种原因,您的ajax请求无法正确获得响应。原因是url: "echo_test.php",这可能是带有扭曲URL的文件。您必须将文件放在可访问的URL(可能是您的本地计算机)中并请求它。有适用于Windows,Linux或Mac的XAMPP之类的快速解决方案,它们可以快速安装带有PHP模块的HTTP服务器以用于即用型环境以及数据库管理系统。