嗨,我是 PHP 和 jQuery 的新手,我正在做一些测试,试图弄清楚它们是如何工作的。但我在网页和服务器上的 php 文件之间来回传输数据时总是遇到问题。这是代码:
<center>
<form>
<hr>
<table style="width:80%;border:3px;">
<tr>
<td align="center"><input type="text" id="name" placeholder="First Last"></td>
<td align="center"><input type="text" id="ssn" placeholder="First Last"></td>
<td align="center"><input type="text" id="birth" placeholder="First Last"></td>
<td align="center"><input type="text" id="xxxx" placeholder="First Last"></td>
<td align="center"><button type="button" id="add">Add</button></td>
<script>
$("#add").click(function() {
var nameIn = $('#name').val();
var ssnIn = $('#ssn').val();
var birthIn = $('#birth').val();
var xxxxIn = $('#xxxx').val();
xxxxIn = "\$" + xxxxIn;
$.ajax({
type:"POST",
url:"database_update.php",
dataType:"JSON",
data: {
name: nameIn,
ssn: ssnIn,
birth: birthIn,
xxxx: xxxxIn
},
success: function(ret) {
var out = JSON.stringify(ret);
alert(out);
}
});
});
</script>
</tr>
</table>
</form>
</center>
<?php
$name = $_POST['name'];
$ssn = $_POST['ssn'];
$birth = $_POST['birth'];
$xxxx = $_POST['xxxx'];
header('Content-type: application/json');
if (isset($name))
{
$ret = array(
"name" => $name,
"ssn" => $ssn,
"birth" => $birth,
"xxxx" => $xxxx
);
echo json_encode($ret);
} ?>
警报功能从未被触发,并且 php 响应成功。
最佳答案
虽然似乎不太可能有人会偶然发现这篇文章并提出完全相同的问题,但我将发布包含评论实质的答案。
1) 从 PHP 标签“<?php
”中删除空格,而不是“<? php
”
2) 在您的标签中包含 jQuery(您已经完成了此操作)
3) 确保文件位于同一目录中,或者在 AJAX 调用中包含目录路径(这里也很好)
4) 在 Chrome 控制台或 Firebug 的网络选项卡中验证响应。此处不应显示任何 PHP。
5) 尽可能降低复杂性。一旦工作正常,逐渐添加代码。
关于javascript - 如何通过 jQuery Ajax 在 HTML 和 PHP 之间来回传输 json 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29044996/