下面是将表单数据传递到jQuery文件的php代码。我使用一个非常简单的文件来测试这一点。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?
谢谢你的点子。
发布于 2019-05-29 06:46:28
您需要一个HTTP服务器来处理PHP代码并响应HTTP请求。由于某些原因,您的ajax请求无法正确获得响应。原因是url: "echo_test.php"
,它可能是带有wring url的文件。您必须将文件放在可访问的URL (可能是您的本地计算机)中并请求它。有一些快速的解决方案,如XAMPP for Windows,Linux或Mac,它可以快速安装HTTP server和PHP模块,用于现成的环境和数据库管理系统。
发布于 2019-05-28 02:28:46
该错误意味着预期的响应是XML,但很可能是空的。尝试更改" url“,例如更改为"/echo_test.php"
,并尝试通过浏览器打开此url以查看内容。
https://stackoverflow.com/questions/56330845
复制相似问题