下面是将表单数据传递到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问题?
感谢任何想法。
答案 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服务器以用于即用型环境以及数据库管理系统。