猿问

php echo返回失败到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 的问题?


感谢您的任何想法。


慕森王
浏览 247回答 2
2回答

潇湘沐

您需要一个 HTTP 服务器来处理 PHP 代码并响应 HTTP 请求。由于某种原因,您的 ajax 请求没有得到正确的响应。那个原因是url: "echo_test.php"哪个文件可能带有 wring url。您必须将文件放在可访问的 URL(可能是您的本地机器)中并请求它。有一些快速的解决方案,如适用于 Windows、Linux 或 Mac 的XAMPP,它们可以快速安装带有 PHP 模块的 HTTP 服务器,用于即用型环境以及数据库管理系统。

狐的传说

该错误意味着预期的响应是 XML,但很可能是空的。例如"/echo_test.php",尝试将“URL”更改为并尝试通过浏览器打开此 url 以查看内容
随时随地看视频慕课网APP
我要回答